为 Azure 虚拟机上的 SQL Server 配置日志传送
本文介绍如何在 Azure 虚拟机 (VM) 上的两个 SQL Server 之间配置日志传送。
概述
使用日志传送,可以自动将主服务器上主数据库中的事务日志备份发送到单独辅助服务器上的一个或多个辅助数据库中。 事务日志备份分别应用于每个辅助数据库。 可选的第三个服务器(称为监视服务器)可记录备份和还原操作的历史记录及状态,还可以在无法按计划执行这些操作时发出警报。
日志传送主要用于灾难恢复解决方案,可以与其他高可用性和灾难恢复选项(包括 Always On 可用性组)结合使用。
先决条件
若要为 Azure 虚拟机上的 SQL Server 配置日志传送,必须满足以下先决条件:
至少有两台加入域的 Azure 虚拟机,与用于事务日志备份的 Azure 存储帐户位于同一资源组中,并且安装了 SQL Server。 辅助服务器的 SQL Server 版本必须等于或高于主服务器的 SQL Server 版本。
主数据库必须使用完整恢复模式或大容量日志恢复模式。 如果主数据库切换到简单恢复模式,日志传送将停止运行。
配置日志传送的帐户必须是 sysadmin 固定服务器角色的成员。
创建 Azure 文件共享
主服务器的事务日志备份存储在文件共享中。 在配置日志传送之前,必须在 Azure 存储帐户内创建一个主服务器和辅助服务器都能访问的 Azure 文件共享。
要在 Azure 门户中创建 Azure 文件共享,请执行下列步骤:
在 Azure 门户中转到资源组,选择要用于事务日志备份的存储帐户。
在“数据存储”下,选择“文件共享”,然后选择“+文件共享”,以创建新的文件共享。
在“基本信息”选项卡上,提供文件共享的名称,例如 log-shipping。 可以将层级保留为默认的“事务优化”。
选择“查看 + 创建”以检查文件共享设置,然后选择“创建”以创建新的文件共享。
创建备份目录
创建文件共享后,应创建以下两个目录:
- 供主服务器写入日志备份的目录
- 供辅助服务器复制和还原日志备份的目录
要创建目录,请执行以下步骤:
Azure 创建文件共享后,门户将返回到新 SMB 文件的“概述”页面。
在“浏览”下,选择“+ 添加目录”。 提供新目录的名称,例如 log-backups。 选择“确定”。
重复上一步以添加第二个目录,例如 restore-backups。 选择“确定”。
将虚拟机连接到文件共享
创建目录后,将虚拟机连接到文件共享。
要确定连接详细信息,请从文件共享的“浏览”或“概述”页面选择“连接”,以打开“连接”窗口。
“连接”窗口提供了一个脚本,用于允许资源访问文件共享。 可以选择更改驱动器号,将文件共享装载到虚拟机。 本指南使用 Windows 虚拟机的存储帐户密钥。
选择“显示脚本”以查看脚本,复制脚本,然后在计划配置日志传送的每个 SQL Server VM 上运行该脚本。
运行连接脚本后,可以使用以下 PowerShell cmdlet 验证与端口 445 的连接:
Test-NetConnection -ComputerName yourstorageaccount.file.core.chinacloudapi.cn -Port 445
如果连接测试成功,则会看到 TcpTestSucceeded : True
的输出。
授权 SQL Server 访问文件共享
SQL Server VM 成功连接到文件共享后,使用连接脚本中的 URL、用户名和密码在 SQL Server 中创建凭证,授予 SQL Server 服务帐户访问文件共享的权限。
要创建凭证,请启用 xp_cmdshell
,并使用它创建凭证,然后再次禁用 xp_cmdshell
。
要授予 SQL Server 服务帐户访问文件共享的权限,请在计划用于日志传送的每个 SQL Server 实例上执行以下步骤:
使用属于 sysadmin 角色的帐户连接 SQL Server VM。
打开 SQL Server Management Studio (SSMS),连接到你的 SQL Server 实例。
打开一个新的查询窗口,并运行以下 Transact-SQL 代码,其中包含从Azure 门户获取的存储密钥详细信息:
EXEC sp_configure 'show advanced options', 1; RECONFIGURE; exec sp_configure 'xp_cmdshell', 1; RECONFIGURE; GO EXEC xp_cmdshell 'cmdkey /add:"yourstorageaccount.file.core.chinacloudapi.cn" /user:"localhost\yourstorageaccount" /pass:"<yourpasskey>"'; GO EXEC sp_configure 'xp_cmdshell', 0; RECONFIGURE; GO
执行命令后,SSMS 会确认已成功添加凭证:
配置日志传送
在 SQL Server 实例可以访问文件共享后,使用 SQL Server Management Studio (SSMS) 配置日志传送。
要配置日志传送,请执行以下步骤:
连接到主 SQL Server 实例。
右键单击要在日志传送配置中用作主数据库的数据库,然后选择“属性”。
在“选择页面”下,选择“事务日志传送”。
选中“将此数据库启用为日志传送配置中的主数据库”旁边的复选框。
在“事务日志备份”下,选择“备份设置”。
在“备份文件夹的网络路径”框中,键入为事务日志备份文件夹创建的共享和目录的网络路径。
例如:
\\yourstorageaccount.file.core.chinacloudapi.cn\log-shipping\log-backups
配置“删除早于某个时间的文件”和“在以下时间内没有执行备份则发出报警”参数,以满足业务需求。
请注意 “备份作业” 下的 “计划” 框中列出的备份计划。 如果想要为安装自定义计划,则选择“计划”并根据需要调整 SQL Server 代理计划。
SQL Server 支持 备份压缩。 创建日志传送配置时,可以通过选择以下选项之一来控制日志备份的备份压缩行为:“使用默认服务器设置”、“压缩备份”或“不压缩备份” 。 有关详细信息,请参阅 Log Shipping Transaction Log Backup Settings。
选择“确定”保存设置。
在“辅助服务器实例和数据库”下,选择“添加”。
使用“连接”,连接到要用作辅助服务器的 SQL Server 实例。
在 “辅助数据库” 框中,从列表中选择一个数据库或键入想要创建的数据库的名称。
在 “初始化辅助数据库” 选项卡上,选择要用于初始化辅助数据库的选项。
注意
如果选择让 SSMS 从数据库备份中初始化辅助数据库,则辅助数据库的数据文件和日志文件将与
master
数据库的数据文件和日志文件放置在同一位置。 此位置可能不同于主数据库的数据文件和日志文件所在的位置。在“复制文件”选项卡上的“已复制文件的目标文件夹”框中,键入要在其中复制事务日志备份的文件夹的路径,例如为文件共享创建的 restore-backups 目录:
\\yourstorageaccount.file.core.chinacloudapi.cn\log-shipping\restore-backups
- 请注意 “复制作业” 下的 “计划” 框中列出的复制计划。 如果想要为安装自定义计划,请选择“计划”,然后根据需要调整 SQL Server 代理计划。 此计划应为大致的备份计划。
在 “还原” 选项卡上的 “还原备份时的数据库状态” 下,选择 “无恢复模式” 或 “备用模式” 选项。
重要
当主服务器和辅助服务器的版本相同时,仅选择“备用模式”。 当辅助服务器的主版本高于主服务器时,仅允许“无恢复模式”。
如果选择了“备用模式”,请选择是否要在进行还原操作时从辅助数据库断开用户连接。
如果希望延迟辅助服务器上的还原进程,请在 “延迟还原备份操作至少” 下选择延迟时间。
在 “在以下时间内没有执行还原时报警” 下选择警报阈值。
请注意 “还原作业” 下 “计划” 框中列出的还原计划。 如果想要为安装自定义计划,请选择“计划”,然后根据需要调整 SQL Server 代理计划。 此计划应为大致的备份计划。
选择“确定”保存设置。
(可选)在“监视服务器实例”下,选中“使用监视服务器实例”复选框,然后选择“设置”。
重要
若要监视此日志传送配置,必须现在添加监视服务器。 以后若要添加监视服务器,则必须删除此日志传送配置,然后将其替换为包含监视服务器的新配置。
使用“连接”连接到要用作监视服务器的 SQL Server 实例。
在 “监视器连接” 下,选择备份、副本以及还原作业所使用的连接方法来连接到监视器服务器。
在 “历史记录保持期” 下,选择想要保留日志传送历史记录的时间长度。
选择“确定”保存设置。
在“数据库属性”对话框中,使用“确定”启动配置进程。