关于 Azure VM 中的 SQL Server 备份,备份sqlserver数据库到azure关于Azure虚拟机中的SQL Server备份Azure Backup为备份Azure VM中运行的SQL Server提供了专业的基于流的解决方案。该解决方案兼顾了Azure backup具有zero 基础结构、长期保......
Azure Backup为备份Azure VM中运行的SQL Server提供了专业的基于流的解决方案。该解决方案兼顾了Azure backup具有zero 基础结构、长期保留、集中管理的优势。它还特别为SQL Server提供了以下优势:
工作负载感知备份,支持所有备份类型(完整备份、差异备份和日志备份)
15分钟恢复点目标(RPO),频繁的日志备份
长达一秒钟的时间点恢复
数据库的单级备份和恢复
评论
Azure VM中基于快照的SQL数据库备份目前在preview中可用。这种独特的产品/服务结合了快照的优势(提高RTO并减少对服务器的影响)和频繁日志备份的优势(实现低RTO)。如需任何查询/访问权限,请填写AskAzureBackupTeam@microsoft.com。
要查看我们当前支持的备份和恢复方案,请参考支持列表。
该解决方案利用SQL native API来备份SQL数据库。
在指定要保护的SQL Server虚拟机并查询其中的数据库后,Azure Backup Service将在此虚拟机上安装带有AzureBackupWindowsWorkload扩展的工作负载备份扩展。
这个扩展包含协调器和SQL插件。协调器负责触发各种操作的工作流(如配置备份、备份和恢复),插件负责实际的数据流。
为了发现此虚拟机上的数据库,Azure Backup将创建帐户nt service \ AzureWLBackupPluginSVC。该帐户用于备份和还原,需要SQL sysadmin权限。nt service \ azurelbackuppluginsvc帐户是一个nt service \ azurelbackuppluginsvc帐户,因此不需要密码管理。Azure Backup使用NT AUTHORITY\SYSTEM帐户进行数据库发现/查询,因此该帐户需要是SQL上的公共登录名。如果SQL Server VM不是从Azure market创建的,您可能会收到错误user error SQL NosysAdminMembership。如果出现此错误,请按照以下说明解决。
在所选数据库上触发配置保护后,备份服务将为协调器设置备份计划和其他策略细节,扩展将在虚拟机上本地缓存这些细节。
在预定的时间,协调器与插件通信,并开始使用VDI从SQL server传输备份数据。
将插件数据直接发国际快递recovery service vault,因此不需要临时位置。Azure backup service对存储帐户中的数据进行加密和存储。
数据传输完成后,协调器通过备份服务确认提交。
开始之前,请验证以下要求:
请确保Azure中运行有一个SQL Server实例。您可以在市场上快速创建SQL Server实例。
查看功能注意事项和程序支持。
查看此计划常见问题的答案。
当您在SQL Server上运行发现时,Azure Backup将执行以下操作:
添加AzureBackupWindowsWorkload扩展。
创建nt service \ azurewlbackuppluginsvc帐户以发现虚拟机上的数据库。该帐户用于备份和还原,需要SQL sysadmin权限。
Azure backup使用NT AUTHORITY\SYSTEM帐户来发现虚拟机上运行的数据库。该帐户必须是SQL上的公共登录名。
如果您没有在Azure market中创建SQL Server VM,或者在SQL 2008或2008 R2上操作,您可能会收到一个usererrorsqlnosysadminmembership错误。
要了解在Windows 2008 R2上运行SQL 2008和2008 R2时如何授权,请参见此处。
对于所有其他版本,可以使用以下步骤来解决权限问题:
使用具有SQL Server sysadmin权限的帐户登录到SQL Server Management Studio (SSMS)。除非需要特殊权限,否则Windows身份验证应该正常工作。
在SQL server上,打开security/login文件夹。
右键单击登录名文件夹,然后选择新建登录名。在登录名新建中,选择搜索。
Windows虚拟服务帐户nt s service \ azurewlbackuppluginsvc已在虚拟机注册和SQL发现阶段创建。输入“输入要选择的对象的名称”中显示的帐户名称。选择“检查名称”以解析名称。选择“确定”。
在服务器角色中,确保选择了sysadmin角色。选择“确定”。现在,所需的权限应该存在了。
现在,将数据库与恢复服务存储库相关联。在Azure Portal的受保护服务器列表中,右键单击处于错误状态的服务器以重新发现数据库。
在“通知”区域检查进度。找到选定的数据库后,将显示一条成功消息。
评论
如果SQL Server中安装了多个SQL Server实例,则必须将NT Service \ azurelbackuppluginsvc帐户的sysadmin权限添加到所有SQL实例中。
将NT AUTHORITY\SYSTEM和NT service \ azurewlbackuppluginsvc登录名添加到SQL Server实例中:
转到对象资源管理器中的SQL Server实例。
导航至安全性登录名
右键单击“登录名”并选择“新登录名…”
转到“常规”选项卡,输入NT AUTHORITY\SYSTEM作为登录名。
转到“服务器角色”并选择“公共”和“系统管理员”角色。
转到“状态”。授予连接到数据库引擎的权限,并将登录名设置为Enabled。
选择“确定”。
重复相同的步骤序列(上面的步骤17 ),将登录名nt service \ azurewlbackuppluginsvc添加到SQL Server实例中。如果登录名已经存在,请确保它具有sysadmin服务器角色并且处于以下状态:已经授予了连接到数据库引擎的权限,并且登录名设置为Enabled。
授予权限后,在门户中重新发现数据库:vaultbackup基础structureworkload inAzure VM:
或者,您可以在管理员模式下运行以下PowerShell命令来自动授予权限。默认情况下,实例名设置为MSSQLSERVER。根据需要更改脚本中的实例名称参数:
PowerShell复制
param([Parameter(Mandatory=$false)][string]$InstanceName=MSSQLSERVER)if($InstanceNameeqMSSQLSERVER){$fullInstance=$env:COMPUTERNAME#IncaseitisthedefaultSQLServerInstance}else{$fullInstance=$env:COMPUTERNAME+\+$InstanceName#Incaseofnamedinstance}try{sqlcmd.exeS$fullInstanceQspaddsrvrolememberNTService\AzureWLBackupPluginSvc,sysadmin#Addsloginwithsysadminpermissionifalreadynotavailable}catch{WriteHostAnerroroccurred:WriteHost$.Exceptionformatlistforce}try{sqlcmd.exeS$fullInstanceQspaddsrvrolememberNTAUTHORITY\SYSTEM,sysadmin#Addsloginwithsysadminpermissionifalreadynotavailable}catch{WriteHostAnerroroccurred:WriteHost$.Exceptionformatlistforce}特别声明:以上文章内容仅代表作者本人观点,不代表ESG跨境电商观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与ESG跨境电商联系。
二维码加载中...
使用微信扫一扫登录
使用账号密码登录
平台顾问
微信扫一扫
马上联系在线顾问
小程序
ESG跨境小程序
手机入驻更便捷
返回顶部