【发布时间】:2011-01-14 21:27:04
【问题描述】:
我们在 BACKUP CERTIFICATE 上收到 T-SQL (SQL Server 2008 R2) 错误: ERROR_NUMBER 15151,SEVERITY 16,STATE 1,PROCEDURE -,LINE 8,MESSAGE:找不到证书“certificate1”,因为它不存在或您没有权限。
我们可以在 master.sys.certificates 中看到证书。
我们的伪代码:
将未附加的 template_db 复制到 db1
附加 db1
创建证书1(在主数据库的存储过程中)
生成@password
CREATE DATABASE ENCRYPTION KEY ... ENCRYPTION BY SERVER CERTIFICATE '+@certificate_name +...(在 db1 的存储过程中)
使用证书 1 为 db1 启用透明数据库加密。 (N'ALTER DATABASE '+@db_name+N' SET ENCRYPTION ON')
N'BACKUP CERTIFICATE '+@certificate_name+N' TO FILE = '''+@certificate_file_path+N''' 带私钥( 文件 = '''+@private_key_file_path+N''', 密码加密 = '''+@password+N''''
为了尝试解决该错误,我们每次都在不同的数据库(包括 db1 和 master)中使用 BACKUP CERTIFICATE 代码测试了三种方法。都得到相同的错误。
有什么想法吗?谢谢。
【问题讨论】:
-
我不能投票赞成你的答案,因为我没有足够的代表。谢谢您的发布!这是我的问题,我需要突出显示主数据库以备份存储在其中的证书。
标签: sql-server sql-server-2008 certificate sql-server-2008-r2