Mat*_*rts 23 sql-server database-project visual-studio-2010
我正在查看VS2010中的数据库项目,我的想法是我想要一些东西来跟踪数据库模式(在源代码控制中)以及生成"新安装"脚本和更改脚本的能力.
当我创建一个新的数据库项目向导并导入我现有的数据库模式时,它将不会"构建".我收到错误:
SQL03006:用户:[scanner]有一个未解析的对Login [scanner]的引用.
生成此错误的SQL:
CREATE USER [scanner] FOR LOGIN [scanner];
用户"scanner"是我导入的数据库中定义的登录名.我不知道它给我带来了什么,谷歌也没有多大的投入.有任何想法吗?
小智 16
Login实际上是在服务器安装的master数据库中定义的.CREATE USER语句需要指向现有的Login,否则会出错.数据库项目不知道服务器级别的登录.您可以创建服务器项目来处理登录,也可以关闭数据库项目中安全对象的检查.有关更多详细信息,请参阅Demetri M的答案:http://social.msdn.microsoft.com/Forums/eu/vstsdb/thread/1f8226fe-b791-4344-8735-3d38307e8664
我正在使用Visual Studio 2012进行SQL Server 2008 R2数据库项目.@Judah列出的选项似乎不再起作用.
现在,它们似乎是您在执行架构比较时配置的设置:
右键单击数据库项目>选择"架构比较">选择"设置"齿轮图标>选择"对象类型"选项卡>
登录是非应用程序范围的.数据库角色,权限,角色成员身份和用户都是应用程序范围的.
不幸的是,我能找到保留这些的唯一方法是保存模式比较.如果您在团队中共享此内容并且希望任何架构比较的项目/数据库(或服务器)设置,这可能会有点不方便.
不过,它完成了工作.
| 归档时间: |
|
| 查看次数: |
15116 次 |
| 最近记录: |