Azure 中的 SharePoint Server 2016 开发/测试环境

 

**上一次修改主题:**2017-10-06

**摘要:**在 Microsoft Azure 基础结构服务中创建单台单服务器的 SharePoint 2016 开发/测试服务器场。

本文将分步指导你创建 Azure 中托管的 SharePoint Server 2016 开发/测试服务器场。下面是生成的配置。

The completed SharePoint 2016 dev/test farm in Azure infrastructure services

此配置在 Azure 虚拟网络的子网中包括单台单服务器的 SharePoint 2016 服务器场,提供了基础和通用的起始点,你可以从起始点演示 SharePoint Server 2016 和开发与测试 SharePoint 应用程序。

设置此开发/测试环境包含三个主要阶段:

  1. 设置虚拟网络和域控制器 (adVM)。

  2. 配置 SQL Server 计算机 (sqlVM)。

  3. 配置 SharePoint Server (spVM)。

备注

此配置需要付费的 Azure 订阅。无法使用 Azure 免费试用版生成此配置。

阶段 1:部署虚拟网络和域控制器

在此阶段,使用 Azure PowerShell 新建 Azure 虚拟网络和域控制器。在本地计算机上,使用 Windows PowerShell 命令提示符或 PowerShell 集成脚本环境 (ISE) 运行 PowerShell 命令。

备注

下面的命令集使用最新版 Azure PowerShell。请参阅 Get started with Azure PowerShell cmdlets(Azure PowerShell cmdlet 使用入门)。

首先,登录到你的 Azure 帐户。

Login-AzureRMAccount

提示

如需包含本文中的所有 PowerShell 命令的文本文件,请单击此处

使用以下命令获得订阅名称。

Get-AzureRMSubscription | Sort Name | Select Name

使用下列命令设置 Azure 订阅。使用正确的名称替换引号内的所有内容(包括 < 和 > 字符),以设置 $subscr 变量。

$subscr="<subscription name>"
Get-AzureRmSubscription -SubscriptionName $subscr | Select-AzureRmSubscription

接下来,创建一个新的资源组。要确定一个唯一的资源组名称,请使用此命令列出你现有的资源组。

Get-AzureRMResourceGroup | Sort ResourceGroupName | Select ResourceGroupName

使用这些命令创建新的资源组。使用正确的名称替换引号内的所有内容(包括 < and > 字符),以设置变量。

$rgName="<resource group name>"
$locName="<location name, such as West US>"
New-AzureRMResourceGroup -Name $rgName -Location $locName

接下来,创建 SP2016Vnet Azure 虚拟网络,它将托管 SP2016Subnet 子网并通过网络安全组对其进行保护。

$rgName="<name of your new resource group>"
$locName=(Get-AzureRmResourceGroup -Name $rgName).Location
$spSubnet=New-AzureRMVirtualNetworkSubnetConfig -Name SP2016Subnet -AddressPrefix 10.0.0.0/24
New-AzureRMVirtualNetwork -Name SP2016Vnet -ResourceGroupName $rgName -Location $locName -AddressPrefix 10.0.0.0/16 -Subnet $spSubnet -DNSServer 10.0.0.4
$rule1=New-AzureRMNetworkSecurityRuleConfig -Name "RDPTraffic" -Description "Allow RDP to all VMs on the subnet" -Access Allow -Protocol Tcp -Direction Inbound -Priority 100 -SourceAddressPrefix Internet -SourcePortRange * -DestinationAddressPrefix * -DestinationPortRange 3389
$rule2 = New-AzureRMNetworkSecurityRuleConfig -Name "WebTraffic" -Description "Allow HTTP to the SharePoint server" -Access Allow -Protocol Tcp -Direction Inbound -Priority 101 -SourceAddressPrefix Internet -SourcePortRange * -DestinationAddressPrefix "10.0.0.6/32" -DestinationPortRange 80
New-AzureRMNetworkSecurityGroup -Name SP2016Subnet -ResourceGroupName $rgName -Location $locName -SecurityRules $rule1, $rule2
$vnet=Get-AzureRMVirtualNetwork -ResourceGroupName $rgName -Name SP2016Vnet
$nsg=Get-AzureRMNetworkSecurityGroup -Name SP2016Subnet -ResourceGroupName $rgName
Set-AzureRMVirtualNetworkSubnetConfig -VirtualNetwork $vnet -Name SP2016Subnet -AddressPrefix "10.0.0.0/24" -NetworkSecurityGroup $nsg

然后,我们可以在 Azure 中创建 adVM 虚拟机。adVM 是 corp.contoso.com Windows 服务器 Active Directory (AD) 域的域控制器和 SP2016Vnet 虚拟网络虚拟机的 DNS 服务器。

首先,填写资源组名称,并在本地计算机上使用 Azure PowerShell 命令提示符运行下面这些命令,为 adVM 创建 Azure 虚拟机。

$rgName="<resource group name>"

# Get the location
$locName=(Get-AzureRmResourceGroup -Name $rgName).Location

# Create an availability set for domain controller virtual machines
New-AzureRMAvailabilitySet -Name dcAvailabilitySet -ResourceGroupName $rgName -Location $locName

# Create the adVM virtual machine
$vmName="adVM"
$vmSize="Standard_D1_v2"
$vnet=Get-AzureRMVirtualNetwork -Name SP2016Vnet -ResourceGroupName $rgName
$pip = New-AzureRMPublicIpAddress -Name ($vmName + "-PIP") -ResourceGroupName $rgName -Location $locName -AllocationMethod Dynamic
$nic = New-AzureRMNetworkInterface -Name ($vmName + "-NIC") -ResourceGroupName $rgName -Location $locName -SubnetId $vnet.Subnets[0].Id -PublicIpAddressId $pip.Id -PrivateIpAddress 10.0.0.4
$avSet=Get-AzureRMAvailabilitySet -Name dcAvailabilitySet -ResourceGroupName $rgName 
$vm=New-AzureRMVMConfig -VMName $vmName -VMSize $vmSize -AvailabilitySetId $avSet.Id
$vm=Set-AzureRmVMOSDisk -VM $vm -Name ($vmName +"-OS") -DiskSizeInGB 128 -CreateOption FromImage -StorageAccountType "StandardLRS"
$diskConfig=New-AzureRmDiskConfig -AccountType "StandardLRS" -Location $locName -CreateOption Empty -DiskSizeGB 20
$dataDisk1=New-AzureRmDisk -DiskName ($vmName + "-DataDisk1") -Disk $diskConfig -ResourceGroupName $rgName
$vm=Add-AzureRmVMDataDisk -VM $vm -Name ($vmName + "-DataDisk1") -CreateOption Attach -ManagedDiskId $dataDisk1.Id -Lun 1
$cred=Get-Credential -Message "Type the name and password of the local administrator account for adVM."
$vm=Set-AzureRMVMOperatingSystem -VM $vm -Windows -ComputerName adVM -Credential $cred -ProvisionVMAgent -EnableAutoUpdate
$vm=Set-AzureRMVMSourceImage -VM $vm -PublisherName MicrosoftWindowsServer -Offer WindowsServer -Skus 2012-R2-Datacenter -Version "latest"
$vm=Add-AzureRMVMNetworkInterface -VM $vm -Id $nic.Id
New-AzureRMVM -ResourceGroupName $rgName -Location $locName -VM $vm

系统将提示你输入用户名和密码。本文将引用此用户名为 ADMIN_NAME。使用强密码,并记录在一个安全的位置。

备注

你指定的密码不能为“pass@word1”。长度必须在 8-123 个字符之间,并且必须至少满足以下其中 3 项密码复杂性要求:

  • 包含大写字母

  • 包含小写字母

  • 包含数字

  • 包含特殊字符

Azure 可能需要几分钟的时间来构建虚拟机。

请按照下列步骤操作,使用本地管理员帐户凭据连接域控制器虚拟机:

  1. Azure 门户中,单击“资源组 > <新资源组的名称> > adVM > 连接”。

  2. 运行下载的 adVM.rdp 文件,然后单击“连接”。

  3. 在“Windows 安全性中,单击“使用另一个帐户”。在“用户名”中,键入 adVM\<ADMIN_NAME>。

  4. 在“密码”中,键入 ADMIN_NAME 帐户的密码,然后单击“确定”。

  5. 出现提示时,请单击“”。

接下来,在管理员一级的 Windows PowerShell 命令提示符处,使用下面这些命令将额外的数据磁盘添加为新卷,驱动器号为 F:。

Get-Disk | Where PartitionStyle -eq "RAW" | Initialize-Disk -PartitionStyle GPT -PassThru | New-Partition -AssignDriveLetter -UseMaximumSize | Format-Volume -FileSystem NTFS -NewFileSystemLabel "WSAD Data"

接下来,将 adVM 配置为 corp.contoso.com 域的域控制器和 DNS 服务器。在 adVM 上管理员级别的 Windows PowerShell 命令提示符中运行下面的命令。

Install-WindowsFeature AD-Domain-Services -IncludeManagementTools
Install-ADDSForest -DomainName corp.contoso.com -DatabasePath "F:\NTDS" -SysvolPath "F:\SYSVOL" -LogPath "F:\Logs"

请注意,这些命令可能会花几分钟才能完成。

AdVM 重新启动后,重新连接到 adVM 虚拟机。

使用域凭据连接域控制器虚拟机

  1. Azure 门户中,单击“资源组 ><你的资源组名称> > adVM > 连接”。

  2. 运行下载的 adVM.rdp 文件,然后单击“连接”。

  3. 在“Windows 安全性中,单击“使用另一个帐户”。在“用户名称”中,键入 CORP\<ADMIN_NAME>。

  4. 在“密码”中,键入 ADMIN_NAME 帐户的密码,然后单击“确定”。

  5. 出现提示时,请单击“”。

在 adVM 上的桌面中打开管理员级别的 Windows PowerShell 命令提示符,然后运行以下命令:

Add-WindowsFeature RSAT-ADDS-Tools
New-ADUser -SamAccountName sp_farm_db -AccountPassword (read-host "Set user password" -assecurestring) -name "sp_farm_db" -enabled $true -PasswordNeverExpires $true -ChangePasswordAtLogon $false

在安全位置记录 sp_farm_db 帐户的密码。

以下是第 1 阶段的结果。

Phase 1 of the SharePoint 2016 dev/test farm in Azure infrastructure services

阶段 2:添加和配置 SQL Server 2014 虚拟机

在此阶段中,在虚拟网络中创建 SQL Server 2014 虚拟机,使其作为 Windows Server AD 域的成员,并准备 SharePoint。

若要使用 Azure PowerShell 创建 SQL Server 2014 虚拟机,请提供变量的值。然后,在本地计算机上的 Azure PowerShell 提示符处或 PowerShell 集成脚本环境 (ISE) 中运行生成的块。

# Log in to Azure
Login-AzureRmAccount

# Set up key variables
$subscrName="<name of your Azure subscription>"
$rgName="<your resource group name>"

# Set the Azure subscription and location
Get-AzureRmSubscription -Name $subscrName | Select-AzureRmSubscription
$locName=(Get-AzureRmResourceGroup -Name $rgName).Location

# Create an availability set for SQL Server virtual machines
New-AzureRMAvailabilitySet -Name sqlAvailabilitySet -ResourceGroupName $rgName -Location $locName

# Create the SQL Server virtual machine
$vmName="sqlVM"
$vmSize="Standard_D3_V2"
$vnet=Get-AzureRMVirtualNetwork -Name "SP2016Vnet" -ResourceGroupName $rgName
$pip=New-AzureRMPublicIpAddress -Name ($vmName + "-PIP") -ResourceGroupName $rgName -Location $locName -AllocationMethod Dynamic
$nic=New-AzureRMNetworkInterface -Name ($vmName + "-NIC") -ResourceGroupName $rgName -Location $locName -SubnetId $vnet.Subnets[0].Id -PublicIpAddressId $pip.Id -PrivateIpAddress "10.0.0.5"
$avSet=Get-AzureRMAvailabilitySet -Name sqlAvailabilitySet -ResourceGroupName $rgName 
$vm=New-AzureRMVMConfig -VMName $vmName -VMSize $vmSize -AvailabilitySetId $avSet.Id
$vm=Set-AzureRmVMOSDisk -VM $vm -Name ($vmName +"-OS") -DiskSizeInGB 128 -CreateOption FromImage -StorageAccountType "StandardLRS"
$diskSize=100
$diskConfig=New-AzureRmDiskConfig -AccountType "StandardLRS" -Location $locName -CreateOption Empty -DiskSizeGB $diskSize
$dataDisk1=New-AzureRmDisk -DiskName ($vmName + "-SQLData") -Disk $diskConfig -ResourceGroupName $rgName
$vm=Add-AzureRmVMDataDisk -VM $vm -Name ($vmName + "-SQLData") -CreateOption Attach -ManagedDiskId $dataDisk1.Id -Lun 1
$cred=Get-Credential -Message "Type the name and password of the local administrator account of the SQL Server computer." 
$vm=Set-AzureRMVMOperatingSystem -VM $vm -Windows -ComputerName $vmName -Credential $cred -ProvisionVMAgent -EnableAutoUpdate
$vm=Set-AzureRMVMSourceImage -VM $vm -PublisherName MicrosoftSQLServer -Offer SQL2014SP1-WS2012R2 -Skus Standard -Version "latest"
$vm=Add-AzureRMVMNetworkInterface -VM $vm -Id $nic.Id
New-AzureRMVM -ResourceGroupName $rgName -Location $locName -VM $vm

备注

此 PowerShell 命令集创建了 sqlVM 虚拟机的 Azure 可用性集。执行此操作,以便你想要将多个 SQL Server 虚拟机添加到此基本配置。

Azure 门户中,使用本地管理员帐户的凭据连接到 SQL Server 虚拟机 (sqlVM)。

接下来,在 sqlVM 上使用管理员级 Windows PowerShell 命令提示符,运行下面这些命令,将 SQL Server 加入 Windows Server AD 域。

Add-Computer -DomainName "corp.contoso.com"
Restart-Computer

请注意,必须在输入 Add-Computer 命令后提供域帐户凭据。使用 CORP\<ADMIN_NAME> 帐户和密码。

SQL Server 虚拟机重新启动后,使用本地管理员帐户的凭据重新连接到 SQL Server 虚拟机。

接下来,在 sqlVM 上使用管理员级 Windows PowerShell 命令提示符,运行下面这些命令,将额外的数据磁盘添加为驱动器号为 F: 的新卷,并创建文件夹。

Get-Disk | Where PartitionStyle -eq "RAW" | Initialize-Disk -PartitionStyle GPT -PassThru | New-Partition -AssignDriveLetter -UseMaximumSize | Format-Volume -FileSystem NTFS -NewFileSystemLabel "SQL Data"
md f:\Data
md f:\Log
md f:\Backup

接下来,配置 SQL server 以针对新的数据库和帐户与权限使用 F: 驱动器。

  1. 在开始屏幕中,键入 SQL Studio,然后单击“SQL Server 2014 Management Studio”。

  2. 在“连接到服务器”中,单击“连接”。

  3. 在左窗格中,右键单击顶部节点 — 机器后命名的默认实例 — 然后单击“属性”。

  4. 在“服务器属性”中,单击“数据库设置”。

  5. 在“数据库默认位置”中,设置以下值:

    • 对“数据”,将路径设置为 f:\Data

    • 对“日志”,将路径设置为 f:\Log

    • 对于“备份”,将路径设置为 f:\Backup

  6. 单击“确定”关闭该窗口。

  7. 在左窗格中,展开 Security 文件夹。

  8. 右键单击“登录名”,然后单击“新建登录名”。

  9. 在“登录名”中,键入 CORP\<ADMIN_NAME>。

  10. 在“选择页”下,依次单击“服务器角色”、“sysadmin”和“确定”。

  11. 关闭 SQL Server 2014 Management Studio。

SQL Server 需要客户端用于访问数据库服务器的端口。它还需要与 SQL Server Management Studio 进行连接的端口。在 SQL Server 虚拟机上管理员级别 Windows PowerShell 命令提示符下运行以下命令。

New-NetFirewallRule -DisplayName "SQL Server ports 1433, 1434, and 5022" -Direction Inbound -Protocol TCP -LocalPort 1433,1434,5022 -Action Allow

以本地管理员身份注销。

以下是第 2 阶段的结果。

Phase 2 of the SharePoint 2016 dev/test farm in Azure infrastructure services

第 3 阶段:添加和配置 SharePoint Server 2016 虚拟机

在此阶段中,在虚拟网络中创建 SharePoint Server 2016 虚拟机,使其作为 Windows Server AD 域的成员,然后新建一个 SharePoint 场。

若要使用 Azure PowerShell 创建 SharePoint Server 2016 虚拟机,请提供变量的值。对于 $dnsName 值,你必须确定一个全局唯一名称。然后,在你的本地 Azure PowerShell 提示符下运行生成的块。

# Set up key variables
$subscrName="<name of your Azure subscription>"
$rgName="<your resource group name>"
$dnsName="<unique, public domain name label for the SharePoint server>"

# Set the Azure subscription
Get-AzureRmSubscription -Name $subscrName | Select-AzureRmSubscription

# Get the location
$locName=(Get-AzureRmResourceGroup -Name $rgName).Location

# Create an availability set for SharePoint virtual machines
New-AzureRMAvailabilitySet -Name spAvailabilitySet -ResourceGroupName $rgName -Location $locName

# Create the spVM virtual machine
$vmName="spVM"
$vmSize="Standard_D3_V2"
$vm=New-AzureRMVMConfig -VMName $vmName -VMSize $vmSize
$pip=New-AzureRMPublicIpAddress -Name ($vmName + "-PIP") -ResourceGroupName $rgName -DomainNameLabel $dnsName -Location $locName -AllocationMethod Dynamic
$vnet=Get-AzureRMVirtualNetwork -Name "SP2016Vnet" -ResourceGroupName $rgName
$nic=New-AzureRMNetworkInterface -Name ($vmName + "-NIC") -ResourceGroupName $rgName -Location $locName -SubnetId $vnet.Subnets[0].Id -PublicIpAddressId $pip.Id -PrivateIpAddress "10.0.0.6"
$avSet=Get-AzureRMAvailabilitySet -Name spAvailabilitySet -ResourceGroupName $rgName 
$vm=New-AzureRMVMConfig -VMName $vmName -VMSize $vmSize -AvailabilitySetId $avSet.Id
$vm=Set-AzureRmVMOSDisk -VM $vm -Name ($vmName +"-OS") -DiskSizeInGB 128 -CreateOption FromImage -StorageAccountType "StandardLRS"
$cred=Get-Credential -Message "Type the name and password of the local administrator account."
$vm=Set-AzureRMVMOperatingSystem -VM $vm -Windows -ComputerName $vmName -Credential $cred -ProvisionVMAgent -EnableAutoUpdate
$vm=Set-AzureRMVMSourceImage -VM $vm -PublisherName "MicrosoftSharePoint" -Offer "MicrosoftSharePointServer" -Skus "2016" -Version "latest"
$vm=Add-AzureRMVMNetworkInterface -VM $vm -Id $nic.Id
New-AzureRMVM -ResourceGroupName $rgName -Location $locName -VM $vm

备注

此 Azure PowerShell 命令块创建了 spVM 虚拟机的 Azure 可用性集。执行此操作,便于你将多个 SharePointL Server 2016 虚拟机添加到此基本配置。

配置 SharePoint Server 2016 虚拟机

使用本地管理员帐户凭据连接到 SharePoint 虚拟机 (spVM)。

在 spVM 上使用管理员级 Windows PowerShell 命令提示符,运行下面这些命令,将 SharePoint 虚拟机加入 Windows Server AD 域。

Add-Computer -DomainName "corp.contoso.com"
Restart-Computer

请注意,必须在输入 Add-Computer 命令后提供域帐户凭据。使用 CORP\<ADMIN_NAME> 帐户名称和密码。

SharePoint 虚拟机重新启动后,使用 CORP\<ADMIN_NAME> 帐户名称和密码重新连接到它。

新建 SharePoint 场

  1. 从开始屏幕中,键入 SharePoint,然后单击“SharePoint 2016 产品配置向导”。

  2. 在“欢迎使用 SharePoint 产品”页上,单击“下一步”。

  3. 显示“SharePoint 产品配置向导”对话框,警告将重新启动或重置服务(如 IIS)。单击“”。

  4. 在“连接到服务器场”页上,单击“创建新服务器场”,然后单击“下一步”。

  5. 在“指定配置数据库设置”页上:

    • 在“数据库服务器”中,键入 sqlVM

    • 在“用户名”中,键入 CORP\sp_farm_db

    • 在“密码”中,键入 sp_farm_db 帐户密码。

  6. 单击“下一步”。

    如果找不到 sqlVM 服务器,请确保在 sqlVM 的管理员级别的 Windows PowerShell 命令提示符中运行此命令:

    New-NetFirewallRule -DisplayName "SQL Server ports 1433, 1434, and 5022" -Direction Inbound -Protocol TCP -LocalPort 1433,1434,5022 -Action Allow
    
  7. 在“指定服务器场安全设置”页上,键入密码两次。记下此密码并将其存储到安全位置以供将来参考。单击“下一步”。

  8. 在“指定服务器角色”页的“单服务器场”中,单击“单服务器场”,然后单击“下一步”。

  9. 在“配置 SharePoint 管理中心 Web 应用程序”页上,单击“下一步”。

  10. 显示“正在完成 SharePoint 产品配置向导”页。单击“下一步”。

  11. 显示“配置 SharePoint 产品”页。等待,直到完成配置过程。

  12. 在“配置成功”页上,单击“完成”。启动新的管理网站。

  13. 在“帮助改善 SharePoint”页上,单击你的选择以参加客户体验改善计划,然后单击“确定”。

  14. 在“欢迎”页中,单击“启动向导”。

  15. 在“服务应用程序和服务”页的“服务帐户”中,单击“使用现有托管帐户”,然后单击“下一步”。可能需要几分钟才能显示下一页。

  16. 在“创建网站集”页上的“标题”中,键入 Contoso,然后单击“确定”。

  17. 在“这将完成场配置向导”页上,单击“完成”。显示 SharePoint 管理中心网页。

  18. 在 Internet Explorer 中打开新选项卡,在地址栏中键入 http://spvm/,然后按 Enter。你会看到默认 Contoso 团队网站。

现在配置备用访问映射,以便 Internet 用户可以使用分配给 spVM 虚拟的公用 IP 地址的 DNS 名称访问 SharePoint Server。

配置备用访问映射

  1. 在本地计算机的 Azure PowerShell 提示符中,运行以下命令:

    Write-Host (Get-AzureRMPublicIpaddress -Name "spVM-PIP" -ResourceGroup $rgName).DnsSettings.Fqdn
    
  2. 请注意 DNS 名称。

  3. 在 spVM 虚拟机的 Internet Explorer 中,单击“主页 - 管理中心”选项卡。

  4. 在“系统设置”部分,单击“配置备用访问映射”。

  5. 在“备用访问映射”页上,单击“编辑公用 URL”。

  6. 在“编辑公用区域 URL”页上,单击“备用访问映射集”旁边的链接,然后单击“更改备用访问映射集”。

  7. 在“选择备用访问映射集”中,单击“SharePoint – 80”。

  8. 在“编辑公用区域 URL”页的“Internet”中,键入 http://<步骤 2 中的 DNS 名称>,然后单击“保存”。

以下是第 3 阶段的结果。

The completed SharePoint 2016 dev/test farm in Azure infrastructure services

从你的本地计算机上的浏览器,访问 http://< spVM 虚拟机的 DNS 名称 >。从凭据获取提示时,使用 CORP\ < ADMIN_NAME > 帐户名称和密码。你会看到默认 Contoso 团队网站。

后续步骤

准备好在 Azure 中设计生产 SharePoint Server 2016 场时,请参阅在 Azure 中设计 SharePoint Server 2016 场

准备好在 Azure 中部署生产就绪型、高可用性的 SharePoint Server 2016 场时,请参阅在 Azure 中为 SharePoint Server 2016 部署 SQL Server AlwaysOn 可用性

在场中停止和启动虚拟机

Azure 虚拟机在运行时会持续产生费用。为帮助将 SharePoint Server 2016 开发/测试环境的成本降到最低,请使用以下命令来停止虚拟机:

$rgName="<your resource group name>"
Stop-AzureRMVM -Name spVM -ResourceGroupName $rgName -Force
Stop-AzureRMVM -Name sqlVM -ResourceGroupName $rgName -Force
Stop-AzureRMVM -Name adVM -ResourceGroupName $rgName -Force

若要重新启动,请使用以下命令:

$rgName="<your resource group name>"
Start-AzureRMVM -Name adVM -ResourceGroupName $rgName
Start-AzureRMVM -Name sqlVM -ResourceGroupName $rgName
Start-AzureRMVM -Name spVM -ResourceGroupName $rgName

See also

SharePoint 2013 和 SharePoint 2016
安装和配置 SharePoint Server 2016

在 Azure 中设计 SharePoint Server 2016 场
在 Azure 中为 SharePoint Server 2016 部署 SQL Server AlwaysOn 可用性
云采用测试实验室指南 (TLG)