Backup-SCVMMServer

备份 Virtual Machine Manager 数据库。

语法

Backup-SCVMMServer
      -Path <String>
      [-VMMServer <ServerConnection>]
      [-RunAsynchronously]
      [-PROTipID <Guid>]
      [-JobVariable <String>]
      [<CommonParameters>]

说明

Backup-SCVMMServer cmdlet 将 VMM 服务器上的 Virtual Machine Manager (VMM) 数据库备份到本地文件夹或远程网络共享。 备份数据库的文件夹必须可供SQL Server访问。

确定SQL Server是本地还是远程服务器上

如果不知道 VMM 数据库是本地存储还是存储在运行 Microsoft SQL Server 的远程服务器上,请执行以下操作:

1.在 VMM 服务器上,打开注册表编辑器。 2. 导航到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft System Center Virtual Machine Manager Server\Settings\Sql 3。查看 OnRemoteServer 的值:

-- If it is set to 0, the database is on the local VMM server. 

-- If it is set to 1, the database is on a remote SQL server.

恢复备份数据库

使用 Backup-SCVMMServer cmdlet 备份 VMM 数据库 (请参阅示例 1 和 2) 后,可以使用 SCVMMRecover.exe 命令还原数据库 (请参阅示例 3) 。 此命令不是 Windows PowerShell cmdlet,随 VMM 一起安装。 默认情况下,SCVMMRecover.exe安装在 <%system-drive%>\Program Files\Microsoft System Center 2016\Virtual Machine Manager\bin。

重要说明:若要备份和还原充当虚拟机主机的服务器或 VMM 环境中的库服务器,请使用标准服务器备份和还原过程。

示例

示例 1:将 VMM 数据库备份到本地文件夹

PS C:\> Backup-SCVMMServer -VMMServer "VMMServer01.Contoso.com" -Path "D:\VMMBackups"

此命令将名为 VMMServer01 的 VMM 服务器上的 VMM 数据库备份到指定的路径。

注意:

  • Backup-SCVMMServer 必须将数据库备份到运行SQL Server的服务器。 此示例假定 VMM 数据库) SQL Server (安装在 VMMServer01 而不是远程服务器上。

  • 将数据库备份到本地文件夹时,该文件夹必须可供SQL Server服务写入。

示例 2:将 VMM 数据库备份到网络共享

PS C:\> Backup-SCVMMServer -VMMServer "VMMServer01.Contoso.com" -Path "\\SQLServer01\VMMBackups"

此命令将名为 VMMServer01 的 VMM 服务器上的 VMM 数据库备份到名为 SQLServer01 的服务器上指定的共享。

重要提示:

  • Backup-SCVMMServer 必须将数据库备份到运行SQL Server的服务器,因此此示例假定在 SQLServer01 上安装 VMM 数据库SQL Server () 。
  • 将数据库备份到远程共享时,该共享必须可供SQL Server服务写入。

示例 3:还原 VMM 数据库

C:\> SCVMMRecover.exe -Path <%backup-folder-path%>\<%backup-file-name%>.bak -Confirm

此示例演示了如何使用 SCVMMRecover.exe,而不是 PowerShell cmdlet。 必须打开命令提示符窗口 (不是 PowerShell 窗口) ,并使用随 VMM 一起安装的SCVMMRecover.exe命令来执行此操作。 您必须在要恢复数据库的 VMM 服务器上本地运行 SCVMMRecover.exe。 SCVMMRecover.exe不适用于高度可用的 VMM 安装。

此示例将 VMM 数据库还原到 VMM 服务器,其中:

<%backup-folder-path%> 是运行SQL Server保存 .bak 文件的服务器上的路径。 <%backup-file-name%> 是备份操作期间创建的 .bak 文件的名称。

此示例假定SCVMMRecover.exe安装在 VMM 的默认位置 % <system-drive%>\Program Files\Microsoft System Center 2016\Virtual Machine Manager\bin\SCVMMRecover.exe

参数

-JobVariable

指定跟踪作业进度,并将其存储在此参数命名的变量中。

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-Path

指定操作的目标路径。

示例格式:

  • 本地路径: -Path "F:\"
  • UNC 路径: -Path "\\Library\Templates"
  • 卷 GUID 路径: -Path "\\?\Volume{4703c1ea-8ae7-11db-b473-00123f7603e3}\"
  • VMware ESX 路径: -Path "\[storage1\]\MyVMwareFolderForVMs\MyVM.vmx"
  • Citrix XenServer 路径: -Path "Local storage\[99b6212f-b63d-c676-25f9-d6c460992de7\]"
Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-PROTipID

指定触发此操作 (PRO 提示) 的性能和资源优化提示的 ID。 此参数允许审核 PRO 提示。

Type:Guid
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-RunAsynchronously

指示作业异步运行,以便控件立即返回到命令 shell。

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-VMMServer

指定VMM 服务器对象。

Type:ServerConnection
Position:Named
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

输出

VMMServer

此 cmdlet 返回 VMMServer 对象。