2013-05-09 52 views
0

我正在编写SQL Server(以2008R2和2012为目标)的“框架”程序和共同/参考表。每个SSDT /日期层项目表示该框架内的不同组件(可位于同一数据库内)(例如,MasterDBExtensions项目在主数据库,SQLServerAgentExtensions(msdb)等存储过程扩展/附加项)。Microsoft SSDT(10.3.21208.0)/数据层项目(MSVS 2010)和项目和参考数据库项目之间的“共享”/复制证书

我基于架构,数据库角色和证书大量开发了一个非常严格的安全模型。

我的问题是如何在活动项目和引用的项目之间“共享”/复制这些证书,以便当我将活动项目发布到SQL Server时,证书被正确复制等。(btw我需要共享/复制跨数据库对象访问的证书,以便我不需要打开Trustworthy标志,Service Broker以及链接服务器访问)。

只是为了澄清我代表我的意思了一些TSQL代码:

use [DatabaseA] 
Create Certificate [MyCertFromA] ... 
Backup Certificate [MyCertFromA] to File = 'MyCertFromA.cert' 

use [DatabaseB] 
Create Certificate [MyCertFromA] from File = 'MyCertFromA.cert' 

SSDT /数据层不会允许我放置的备份和语句来创建/(我得到了“这句话在这方面不被认可“)。如果我将备份证书移动到前/后脚本,则会遇到文件权限和其他问题(例如,找不到证书)的问题。除了Pre/Post脚本,如果我在其他项目中使用该项目作为数据库引用,则不会运行。

所以... 我做错了什么或有没有人有任何建议围绕这些问题?

谢谢!

环境:SQL Server 2012中(我也瞄准的SQL Server 2008 R2),MSVS 2010年,SqlServer的数据工具2012年12月,SQL Server的数据层应用程序框架2013年5月,C#4.0

回答