小编Gre*_*reg的帖子

导入为 VS DB 项目后出现“未解析的用户引用”

我刚刚将现有的 SQL Server 2008r2 生产数据库导入到 VS 2013 数据库项目中。

我现在遇到了一些错误

Error       SQL71501: User: [mydbuser] has an unresolved reference to Login [mydbuser].
Run Code Online (Sandbox Code Playgroud)

我真的不需要我的 VS DB 项目来管理用户,但我担心如果它们不存在,它会在部署时尝试删除它们。

文件本身生成为

CREATE USER [mydbuser] FOR LOGIN [mydbuser];
Run Code Online (Sandbox Code Playgroud)

或者

CREATE USER [mydomainuser] FOR LOGIN [MYDOMAIN\mydomainuser];
Run Code Online (Sandbox Code Playgroud)

错误标记显示它专门用于Login。由于这是一个系统级对象,我可以理解它超出了 db 项目的范围。

我是否更喜欢将它们全部更改为

CREATE USER [mydbuser] WITHOUT LOGIN;
Run Code Online (Sandbox Code Playgroud)

或将CREATE LOGIN子句添加到每个文件的开头?

删除登录引用似乎更简单,而完全删除用户将是最简单的。

我想确保我按照预期的方式使用该工具。将其中任何一个重新发布到生产环境中会不会有任何问题?通过项目添加用户/登录的正确程序是什么?

sql-server ssdt database-projects

12
推荐指数
3
解决办法
3万
查看次数

标签 统计

database-projects ×1

sql-server ×1

ssdt ×1