sql-server - 找不到证书

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

我们在备份证书上收到 T-SQL (SQL Server 2008 R2) 错误: ERROR_NUMBER 15151,严重性 16,状态 1,过程 -,第 8 行,消息:找不到证书“certificate1”,因为它不存在或您没有权限。

我们可以在master.sys.certificates中看到证书。

我们的伪代码:

  • 将一个未附加的 template_db 复制到 db1

  • 附加 db1

  • 创建证书 1(在主数据库的存储过程中)

  • 生成@password

  • 创建数据库加密 key ... 通过服务器证书加密 '+@certificate_name + ...(在 db1 的存储过程中)

  • 使用 certificate1 为 db1 启用透明数据库加密。 (N'ALTER DATABASE '+@db_name+N' 设置加密')

  • N'备份证书 '+@certificate_name+N' TO FILE = '''+@certificate_file_path+N''' 带私钥( FILE = '''+@private_key_file_path+N''', 通过密码加密 = '''+@password+N''''

为了尝试解决该错误,我们每次在不同的数据库中使用 BACKUP CERTIFICATE 代码测试了三种方法,包括 db1 和 master。所有人都会遇到同样的错误。

有什么想法吗?谢谢。

最佳答案

我们再次尝试,在主数据库中运行 BACKUP CERTIFICATE,这次成功了。

关于sql-server - 找不到证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4696132/

相关文章:

sql-server - 为什么我的更新查询实际上没有更新?

c# - NHibernate.Spatial 和 Sql 2008 地理类型 - 如何配置

android - 在哪里可以找到用户安装的证书 android 4.0 及更高版本

.net - 在 VS2010 数据库项目中部署时设置 DefaultDataPath 和 DefaultLogPath

http - 将 p7b 转换为 Azure 的 pfx

.net - 从某些客户端使用 MySqlConnection (.NET) 以 SSL 连接到 MySql-server 失败

c# - Entity Framework 和默认值

sql-server - 如何使用另一个表中的记录作为列名创建 SQL 表变量

sql-server - 如何在 SQL XPath 中获取子节点值和父节点值

sql-server - SQL Server NTILE - 不同四分位中的相同值