0

我正在编写 SQL Server(针对 2008R2 和 2012)存储过程和公共/参考表的“框架”。每个 SSDT/日期层项目代表此框架内的不同组件(可以在同一数据库中)(例如,MasterDBExtensions 项目在主数据库、SQLServerAgentExtensions (msdb) 等中具有存储过程扩展/附加组件)。

我在很大程度上基于 Schema、数据库角色和证书开发了一个非常严格的安全模型。

我的问题是如何在活动项目和引用的项目之间“共享”/复制这些证书,以便当我将活动项目发布到 SQL Server 时,证书被正确复制等(顺便说一句,我需要共享/复制证书用于跨数据库对象访问,这样我就不需要打开 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/数据层不允许我放置 Backup and Create/From 语句(我得到“此语句在此上下文中无法识别”)。如果我将备份证书移动到前/后脚本,我会遇到文件权限问题和其他问题(例如,未找到证书)。此外,如果我将该项目用作其他项目中的数据库引用,则 Pre/Post 脚本不会运行。

所以......我做错了什么或者有人对这些问题有任何建议吗?

谢谢!

环境:SQL Server 2012(我也针对 SQL Server 2008R2)、MSVS 2010、SqlServer Data Tools 2012 年 12 月、SQL Sever 数据层应用程序框架 2013 年 5 月、C# 4.0

4

1 回答 1

0

看起来CTP4 Certficate 问题已经对此有所回答- 有时是服务器,有时是数据库范围

于 2013-05-22T14:51:49.630 回答