gpt4 book ai didi

visual-studio-2010 - VS2010数据库项目有没有办法抑制SQL03006错误?

转载 作者:行者123 更新时间:2023-12-03 20:54:24 25 4
gpt4 key购买 nike

首先,我知道我得到的错误可以通过创建引用项目(数据库服务器类型)然后 referencing it in my Database project 来解决。 ...
但是,我发现这有点矫枉过正,特别是对于开发人员和数据库管理员之间没有特定角色分离的小团队......但是,让我们再讨论一次...... DAC 也是如此......不能使用支持有限对象的 DAC b/c...

问题
现在,问题是:我可以(以及如何)在构建我的数据库项目时禁用 SQL03006 错误。在我的情况下,生成此错误是因为我正在创建一些登录“未解决”的用户......我认为这应该是可能的,因为我“知道”在部署脚本之前服务器上将存在登录.. .我也不想维护数据库服务器项目只是为了让我可以解决引用问题(除了服务器级别的登录之外,我什么都没有)......

解决方法
使用部署前/部署后脚本,让 secret 工作变得微不足道...

解决方法问题
您必须注释掉用户脚本(使用登录引用)以解决问题...
一旦你这样做,.sqlpermissions 就会爆炸,说没有引用的用户......然后你必须注释权限并将它们放在部署后脚本中......
此解决方法的主要缺点是您无法充分利用架构比较其最大程度(您必须指定忽略用户/登录名/权限)

再说一次,我想要的只是
1. 只维护 DB 项目(不引用 DB Server 项目)
2.禁用/抑制SQL03006错误
3.能够在我的数据库项目中使用模式比较

我要求不可能吗? :)

干杯

附言
如果有人知道更好的 VS2010 数据库项目模板/工具(用于 SQL Server 2008 R2),请分享...

最佳答案

有两种解决方法:

1.
关闭任何与用户或安全相关的架构检查(工具 > 选项 > 数据库工具 > 架构比较 > SQL Server 200x,然后是对象类型选项卡)。这是永久修复

2.
通过模式比较并将任何与用户或安全相关的内容标记为跳过,然后生成您的 SQL 比较脚本。这是每个架构比较修复。

这应该很明显,但如果你 已经在您的项目中有引用登录名或角色的脚本,然后删除它们,它们就不会被创建。

关于visual-studio-2010 - VS2010数据库项目有没有办法抑制SQL03006错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4995773/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com