找不到证书

时间:2011-01-14 21:27:05

标签: sql-server sql-server-2008 certificate sql-server-2008-r2

我们在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。所有人都得到同样的错误。

有什么想法吗?感谢。

1 个答案:

答案 0 :(得分:2)

我们再次尝试,在主数据库中运行BACKUP CERTIFICATE,这次工作正常。