本部分介绍了如何装载捕获的 Microsoft SQL Server:
- 实例
- AlwaysOn 可用性组的主数据库
- 一致性组
- 一致性组的各个成员
- 系统数据库
- 用户数据库
装载捕获的 Microsoft SQL Server 数据
通过标准装载,您可以将 Microsoft SQL Server 数据装载到另一台服务器,以便其他 Microsoft SQL Server 提取和使用。如需仅装载捕获的 Microsoft SQL 数据,请按照以下步骤操作:
打开应用管理器,进入应用列表。
右键点击 SQL Server 实例、用户数据库、系统数据库、集群或可用性组,然后选择访问。使用过滤条件查找所需的数据库。
在跑道上,选择要装载的特定备份,然后选择装载。
(可选)输入一个标签,以便您清楚地识别此装载的数据。
在装载映像对话框的应用选项部分中,不要选择创建新的虚拟应用。如需将 Microsoft SQL 数据装载为虚拟数据库,请参阅将 SQL Server 数据库装载为新的虚拟数据库。
填写映射选项和项选择字段(如果适用)。
显示的选项因所选来源而异。 例如,VMware 虚拟机上的数据库具有映射到所有 ESX 主机选项。集群数据库具有映射到集群节点选项。
点击提交,系统会提交装载作业。
装载操作成功后,登录数据库服务器,并验证装载的备份在活跃装载中可用。
将 SQL Server 数据库装载为新的虚拟数据库
虚拟应用装载操作会将捕获的数据库装载为虚拟应用。它让您可以快速使数据库上线,而无需实际移动数据,也无需手动配置数据库的新实例。虚拟应用装载解决了在没有数据库、服务器和存储管理员手动干预的情况下创建和管理生产数据库副本的难题。
本部分介绍了如何将捕获的 Microsoft SQL Server 数据库装载为虚拟应用。您可以为 Microsoft SQL Server 装载以下内容:
- 实例
- 系统数据库
- 用户数据库
- 一致性组
- 一致性组的各个成员
- AlwaysOn 可用性组中的数据库
在装载备份之前,请确保已在装载备份的主机上配置 iSCSI,或已配置 VMware 中的 NFS 数据存储区。
如果您只想装载 Microsoft SQL 数据文件,而不向 SQL Server 实例添加任何数据库,请参阅装载捕获的 Microsoft SQL 数据。
对于损坏或删除的数据库,将 SQL Server 数据库作为虚拟应用装载到其源服务器是执行数据库恢复的高效替代方案。
如需将捕获的 Microsoft SQL Server 数据库装载为虚拟应用,请按照以下步骤操作:
打开设备管理控制台,然后前往应用管理器 > 应用列表。
右键点击 SQL Server 实例、用户数据库、系统数据库、集群或可用性组,然后选择访问。使用过滤条件查找所需的数据库。
在备份跑道上,选择要装载的备份。 在右侧,选择装载。 您可以使用左上角的日历 widget 来缩小备份范围。
在应用选项部分中,您可以选择输入一个标签,以便清楚地识别此装载的数据。
选择创建新的虚拟应用。
如果数据库与其日志一起捕获,则应用选项对话框会提供一个选项,用于根据捕获日志的时间和频率将日志回滚到特定时间点。
从 SQL Server 实例名称下拉列表中,选择应向其中添加新数据库的 SQL Server 实例。如果下拉列表中不包含所需的实例名称,您可以在提供的空白处手动输入该名称。
如果您要装载单个数据库,请在 SQL Server 数据库名称字段中输入新虚拟数据库的名称。
如果您要装载多个数据库,请在一致性组名称字段中输入包含虚拟数据库的新一致性组的名称。
虚拟应用装载是一个新的虚拟数据库。 如需保护新的虚拟数据库,请选择管理新应用,然后选择要使用的模板和配置文件。
虚拟应用装载是一个新数据库。数据库的快照是增量快照。
虚拟应用会显示在应用管理器的应用列表中。
如果您未选择管理新应用,则该应用会在应用管理器中显示为不受保护的应用。它可以像任何其他应用一样受到保护。
装载到 SQL Server 实例的虚拟 SQL Server 数据库始终与实例的用户和系统数据库分开保护。
恢复后恢复数据库:如果您希望将数据库恢复到在线状态并准备好处理事务,请保留此选项(默认)。清除此选项可使数据库保持恢复状态,以便手动应用其他事务日志备份,将数据库前滚到特定时间点。
恢复用户登录信息:如果您已启用备份 SQL Server 登录信息政策选项,则选择此选项会将这些登录信息恢复到目标 SQL Server 实例。对于网域账号,只有当目标实例位于同一网域中的服务器上,或位于与源 SQL Server 具有信任关系的网域中时,系统才会恢复用户账号。SQL 本地账号始终会恢复。 如果您想确保所有可以访问原始源数据库的用户都可以访问新的虚拟数据库,请使用此选项。
仅在需要时,在用户名和密码字段中输入用户名和密码。如果 Backup and DR 代理账号没有在卸载操作期间分离数据库或应用事务日志的权限,请在此处输入具有这些权限的账号的凭据。如需了解详情,请参阅 Windows 用户所需的 SQL Server 角色。
如果您想更改新虚拟数据库的恢复模型,请选择恢复模型。默认情况下,系统会保留原始数据库的恢复模式。
对于覆盖现有数据库,请指明何时覆盖目标服务器或实例上与要装载的新数据库同名的数据库:是、否或仅当其过时时。
在映射选项中,您可以输入装载位置。如果应用只有一个卷,则您只能在此处指定装载位置。如果应用有多个卷,您可以:
输入装载位置。所有卷都会自动装载到指定的装载位置,并在指定的装载点使用连续的驱动器盘符或带编号的目录。
将此空间留空,并在高级选项中为每个卷手动指定装载位置。
点击提交,作业即会提交。
装载作业完成后,登录数据库服务器,并验证装载的备份在活跃装载中可用。
管理活跃装载
创建装载后,您可以通过应用管理器 > 活跃装载跟踪备份。理想情况下,请勿无限期地装载任何备份。这是因为,在删除所有装载之前,用于创建装载的备份无法过期。使用完装载的备份后,请执行以下任一操作:
- 卸载备份。您可以根据需要重新装载它。然后,当您确定不再需要该备份时,可以将其删除。
- 卸载并删除备份。此操作会删除已装载的备份,而不是装载所基于的备份。
- 迁移备份。此功能仅适用于 Microsoft SQL Server 装载。
装载加密的 SQL Server 数据
备份/恢复设备会捕获加密的 SQL Server 数据库,但不会捕获其私钥、加密证书或密码。
本节介绍以下内容:
正在确定是否已启用 SQL TDE
排查 SQL Server 加密问题
SQL Server 主密钥、加密证书和密码过程
如果您要将加密的 SQL Server 数据库恢复到现有 SQL Server 数据库,则私钥、加密证书和密码已存在于 SQL Server 实例中,并且在恢复操作完成后,SQL Server 数据库会按预期运行。
如果您要执行加密数据库的虚拟应用装载,或仅装载加密的 SQL Server 数据,则装载加密数据库或数据的 SQL Server 实例必须具有以下内容:
已启用透明数据加密 (TDE)
源 SQL Server 数据库中的私钥副本
源 SQL Server 数据库中的加密证书副本
提供源 SQL Server 数据库的密码
相关过程请参阅 SQL Server 主密钥、加密证书和密码过程。
确定是否已启用 SQL Server TDE
如需确定 SQL Server 实例上是否启用了 TDE,您可以使用 Microsoft 的 SQL Server Management Studio 界面 (SSMS),也可以使用手动查询来确定数据库上是否启用了加密。例如:
SELECT
DB_NAME(database_id)AS dbname,
encryption_state,
case encryption_state
WHEN 0 THEN 'Unencrypted (no
database encryption key present)'
WHEN 1 THEN 'Unencrypted'
WHEN 2 THEN 'Encryption in Progress'
WHEN 3 THEN 'Encrypted'
WHEN 4 THEN 'Key Change in Progress'
WHEN 5 THEN 'Decryption in Progress'
ELSE CAST(encryption_state AS
varchar(20))
END AS encryption_state,
key_algorithm,
key_length
FROM sys.dm_database_encryption_keys
SSMS
如需使用 SSMS 确定是否在数据库上启用了加密,请按照以下步骤操作:
在 SSMS 中,右键点击数据库名称。
从下拉菜单中选择属性,系统会显示数据库的属性。
在选择页面下,点击选项,系统会显示数据库的选项。
在状态下,确保已启用加密设置为 True。
排查 SQL Server 加密问题
以下是两种常见错误:
SQL 错误 24583:这表示缺少加密证书。以下 24583 SQL Server 错误表示您正在尝试装载到没有源 SQL Server 实例的加密证书的 SQL Server 实例。
SQL 错误 33117:未启用透明数据加密。以下 33117 SQL Server 错误表示您正在尝试将加密的 SQL Server 数据库装载到未启用透明数据加密的 SQL Server 实例。
SQL Server 主密钥、加密证书和密码过程
创建和复制主密钥和加密证书是标准 Microsoft SQL Server 过程,并非备份/恢复设备所独有。为方便起见,此处提供了这些命令:
创建新的主密钥
创建新的加密证书
应用服务器主密钥和加密证书
创建服务器主密钥、加密证书的副本,并提供来源密码
复制加密证书、私钥并提供来源密码
如需了解详情,请参阅 Microsoft 关于安全证书和密钥的详细信息:https://msdn.microsoft.com/en-us/library/ff848768.aspx
创建新的主密钥
use master;
go
create master key encryption by password = 'SMKSourcePassword';
go
创建新的加密证书
use master;
go
create certificate sourcedbcert with subject = 'Act Test Cert';
go
应用服务器主密钥和加密证书
use DATABASENAME;
go
CREATE DATABASE ENCRYPTION KEY
WITH ALGORITHM = AES_128
ENCRYPTION BY SERVER CERTIFICATE sourcedbcert;
go
alter database DATABASENAME
set encryption on;
go
创建服务器主密钥和加密证书的副本,并提供源密码
如果一个 SQL Server 实例上的 SQL Server 数据库装载到另一个 SQL Server 实例,则您必须手动复制要装载的数据库的服务器主密钥、加密证书和密码。然后,将服务器主密钥、加密证书和密码复制到另一个 SQL Server 实例。
如需复制服务器主密钥、加密证书和密码,请完成以下操作:
use master;
go
backup certificate sourcedbcert to file = 'E:\Enc\Sourcecert'
with PRIVATE KEY (file='E:\Enc\Privatekey',
ENCRYPTION BY PASSWORD='SecurePassword');
go
复制加密证书、私钥,并提供来源密码
如果将启用了加密的 SQL Server 数据库或数据装载到新的 SQL Server 实例,则新实例必须具有源 SQL Server 实例的服务器主密钥、加密证书和密码的副本。手动将您在上一部分中在源 SQL Server 实例上创建的加密证书和密码副本复制到新的 SQL Server 实例。在新的 SQL Server 实例中,完成以下操作:
create certificate destinationdbcert
FROM file = 'C:\Program Files\Backup and DR\sqlenc\Sourcecert'
with private key (file = 'C:\Program Files\Backup and DR\sqlenc\Privatekey',
decryption by password = 'SecurePassword')
go
适用于 Microsoft SQL Server 的 Backup and DR 的其他文档
本页面是专门介绍如何使用 Backup and DR 保护和恢复 Microsoft SQL Server 数据库和支持二进制文件的系列页面之一。您可以在以下页面中找到更多信息: