我们在BACKUP CERTIFICATE上收到T-SQL(SQL Server 2008 R2)错误: ERROR_NUMBER 15151,严重性16,状态1,程序 - ,第8行,消息:找不到证书'certificate1',因为它不存在或您没有权限。
我们可以在master.sys.certificates中看到证书。
我们的伪代码:
将未附加的template_db复制到db1
附加db1
创建certificate1(在主数据库中的存储过程中)
生成@password
创建数据库加密密钥......服务器证书加密'+ @ certificate_name + ...(在db1中的存储过程中)
使用certificate1为db1启用透明数据库加密。 (N'ALTER DATABASE'+ @ db_name + N'Set ENCRYPTION ON')
N'BACKUP CERTIFICATE'+ @ certificate_name + N' TO FILE ='''+ @ certificate_file_path + N''' 私人钥匙( FILE ='''+ @ private_key_file_path + N''', 通过密码加密='''+ @密码+ N''''
为了尝试解决这个错误,我们每次都在不同的数据库中使用BACKUP CERTIFICATE代码测试了三种方法,包括db1和master。所有人都得到同样的错误。
有什么想法吗?感谢。
答案 0 :(得分:2)
我们再次尝试,在主数据库中运行BACKUP CERTIFICATE,这次工作正常。