我正在阅读一些关于透明数据加密的文档和白皮书。一些文档也提到备份服务主密钥(为了澄清,我不是在谈论数据库主密钥)。我只是不完全理解为什么这是必要的,因为我能够在不使用任何服务主密钥的情况下将具有 TDE 加密的数据库从服务器 A(备份)备份/恢复到服务器 B(恢复)。
什么场景下需要恢复Service Master Key?
我想允许某些用户在数据库(表、视图、sp、函数、模式等)上创建/修改对象,并且不想给 db_owner。
我以为我可以使用 db_ddladmin 角色来做到这一点,但不知何故这并不如预期。我得到的错误消息是这样的:
Your are not loggend on as the database owner or system administrator.
You might not beable to sache changes to tables that you do not own.
Table dbo.MyTable is set to read only,
user doesn't have enough right on this table.
Run Code Online (Sandbox Code Playgroud)
等等
知道如何实现我的目标吗?
我正在尝试在 SQL Server 2008R2 中设置数据库镜像。我已经从我的主要数据库中进行了完整备份和事务备份,并且我已经恢复了两个WITH NORECOVERY.
但是,我的镜像数据库现在卡在RECOVERING模式中,当我在我的主体上点击“开始镜像”时,它说它无法连接。
我究竟做错了什么?
编辑:我应该说我的数据库相当大(mdf 文件大约为 4.8GB)所以这可能是原因。
Edit2:我也尝试在关闭两个防火墙的情况下执行此操作,所以我知道这不是防火墙问题。
Edit3:我已经运行了 Mark 建议的 SQL。主要结果在这里:http : //piersonthe.net/principal.xls和镜像在这里:http : //piersonthe.net/mirror.xls
值得注意的是,我在镜像上运行查询时出现以下错误:Msg 927, Level 14, State 2, Line 1 Database 'RHSCMSSites' cannot be open. 它正处于恢复过程中。