我正在编写一个SQL Server的“框架”(针对2008R2和2012年)、存储过程和通用/参考表。每个SSDT/Date层项目代表该框架内的不同组件(可以位于同一个数据库中)(例如,MasterDBExtensions项目在主数据库、SQLServerAgentExtensions (msdb)中具有存储过程扩展/添加ons,等等)。
我在很大程度上开发了一个严格的基于Schema、数据库角色和证书的安全模型。
我的问题是如何在活动项目和引用项目之间“共享”这些证书,以便当我将活动项目发布到Server时,证书被正确复制,等等(顺便说一下,我需要共享/复制跨数据库对象访问的证书,这样我就不需要打开可信任的标志,Service,以及链接服务器访问)。
为了澄清起见,我有一些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将不会运行。
所以..。,我做错了什么,或者有人对这些问题有什么建议?
谢谢!
环境: SqlServer 2012 (我还瞄准SqlServer 2008R2),MSVS 2010,SqlServer Data Tools,2012年12月,SqlServer-Tier Application Framework,2013年5月,C# 4.0
发布于 2013-05-22 14:51:49
看起来这一点已经被CTP4证书问题--有时是服务器,有时是数据库范围回答了
https://stackoverflow.com/questions/16466920
复制相似问题