首先,我知道我得到的错误可以通过创建参考项目(数据库服务器类型)然后在我的数据库项目中引用它来解决......但是,我发现这有点过头了,特别是对于小型团队来说开发人员和数据库管理员之间没有特定的角色分离..但是,让我们再讨论一下...... DAC 也是如此......不能使用受支持的有限对象的 DAC b/c......
问题 现在,问题是:我可以(以及如何)在构建我的数据库项目时禁用 SQL03006 错误。就我而言,之所以会生成此错误,是因为我正在创建一些登录名“未解决”的用户......我认为这应该是可能的,因为我“知道”在部署脚本之前登录名将存在于服务器上...... .我也不想维护数据库服务器项目,这样我就可以保持解析(除了服务器级别的登录之外我什么都没有)......
解决方法 使用部署前/部署后脚本,让脚本正常工作很简单......
解决方法问题 您必须注释掉用户脚本(使用登录引用)才能解决...一旦您这样做,.sqlpermissions 就会爆炸,说没有引用的用户...然后您必须注释掉权限并将它们放在部署后脚本中...此解决方法的主要缺点是您无法充分利用架构(您必须指定忽略用户/登录名/权限)
再说一次,我想要的只是 1. 只维护 DB 项目(不引用 DB Server 项目) 2. 禁用/抑制 SQL03006 错误 3. 能够在我的 DB 项目中使用模式比较
我要求不可能吗?:)
干杯
PS 如果有人知道更好的 VS2010 数据库项目模板/工具(适用于 SQL Server 2008 R2),请分享...