【发布时间】:2015-06-09 17:53:01
【问题描述】:
我正在尝试针对 SQLExpress 实例在本地发布以测试 VS 数据库项目的发布能力,并且我遇到了一个错误,它试图创建数据库中已经存在的用户。用户创建不是t 被包裹在 IF EXISTS 中,我没有看到任何类型的设置来控制或强制执行此操作。
具体来说,它是在抛出: 正在创建 [xyz\abc46518]... (208,1): SQL72014: .Net SqlClient 数据提供者: Msg 15063, Level 16, State 1, Line 1 登录已经有一个不同用户名下的帐户。 (208,0):SQL72045:脚本执行错误。执行的脚本: 为登录 [xyz\abc46518] 创建用户 [xyz\abc46518];
虽然脚本的其他部分有“IF EXISTS”和“IF NOT EXISTS”,但脚本的这一部分没有。
我希望能够将此作为脚本的一部分来控制数据库中的用户。如果有人选择授予访问权限并且它不在源代码中,那么在我们部署时它就会消失。
【问题讨论】:
-
我们放弃了原生的“用户”支持并推出了我们自己的支持,这在很大程度上基于 Jamie Thomson 的一些工作。这会将所有权限和用户置于部署后脚本中。 schottsql.blogspot.com/2013/05/…
-
你能在用户脚本中加入'IF NOT EXISTS'吗?
标签: visual-studio-2013 database-project