我们有一个使用SQL Server身份验证,与可以部署用户,和其他人可以阅读,为简单起见一个SQL Server,我会打电话给他们“部署”和“网络”。
我有困难的权限设置了使用的Visual Studio(2012)数据库项目,作为“部署”用户没有足够的权限来创建新的服务器登录。
我可以添加脚本做这样的事情:
GRANT SELECT ON foo.bar TO [web]
然后,这生闷气(用“SQL71501:权限有未解决的引用的对象[网络]。”),直到我添加:
CREATE USER [web] FOR LOGIN [web];
然后,这生闷气(用“SQL71501:用户:[幅]具有未解决的引用登录[网络]。”),直到我添加:
CREATE LOGIN [web] WITH PASSWORD = '******';
这就失败发布:
删除权限...
删除权限...
创建[WEBUSER] ...
(67,1):SQL72014:.net SqlClient数据提供:消息15247,级别16,状态1,行1用户没有执行此操作的权限。
(67,0):SQL72045:脚本执行错误。 在执行脚本:
CREATE LOGIN [WEBUSER]
WITH PASSWORD = '**';而正在执行的批处理时发生错误。
这是没有意义的,因为用户已经存在,所以不应该需要创建
我怎么能允许通过部署用户发布,但不尝试(重新)创建登录每一次? 或者,是否有可能引用外部创建的用户,而无需发布呢?