使用 Azure SQL 托管实例 部署 SharePoint Server

适用范围:no-img-132013 yes-img-162016 yes-img-192019 yes-img-seSubscription Edition no-img-sopSharePoint in Microsoft 365

SharePoint Server 2016、SharePoint Server 2019 和 SharePoint Server 订阅版 支持Azure SQL 托管实例 (MI) 。 SQL MI 是 Azure SQL 数据库的部署选项,兼容当前版本的 SQL Server(本地)企业版数据库引擎。

重要

SharePoint 服务器场必须托管在 Microsoft Azure 中,才能支持 Azure SQL MI。 SharePoint Server 场和托管实例必须托管在相同的 Azure 区域中。 托管在客户数据中心时,SharePoint Server 场不支持托管实例。

使用 Azure SQL MI 部署 SharePoint Server 可让你将SQL Server本地应用程序移动到云,几乎无需更改应用程序和数据库。 以下过程演示如何使用 Azure SQL MI 部署 SharePoint Server 2016、2019 或 Subscription Edition。

环境

  1. 利用 vNet 创建资源组,然后创建两个子网。 你可以使用 SQL 托管实例虚拟网络环境模板创建具有两个子网的 Azure 虚拟网络。

  2. 创建子网 1 (默认) ,然后) 创建两个虚拟机 (VM。 首先,将 VM 1 设置为 Active Directory 服务域控制器并配置你的域。 有关详细信息,请参阅分步说明:在 Windows Server 2016 中设置 Active Directory

  3. 在 VM 2 中安装 SharePoint Server 2016 或 SharePoint Server 2019 或 SharePoint Server 订阅版:

    1. 运行 PrerequitsiteInstaller.exe

    2. 运行 Setup.exe

    3. 如果使用 SharePoint Server 2016 或 SharePoint Server 2019,请安装 2019 年 5 月 (或更高版本的) sts 核心修补程序,适用于 SharePoint Server 2016 (KB 4464549) 或 SharePoint Server 2019 (KB 4464556) 。

    4. 如果使用 SharePoint Server 2016 或 SharePoint Server 2019,请安装 2019 年 4 月 (或更高版本) 的 wssloc MUI/语言包修补程序,适用于 SharePoint Server 2016 (KB 4461507) 或 SharePoint Server 2019 (KB 4462221) 。

    注意

    可以将其他 VM 加入到子网 1 中的 Active Directory 中。

    无需为SharePoint Server 订阅版安装更新。

  4. 在此资源组的子网 2 中创建一个Azure SQL MI, (ManagedInstance) 。

    重要

    除了 SQL MI 外,其他任何资源均不能驻留在子网 2 中。

  5. 使用 SQL 身份验证创建或加入 SharePoint 场,在 SQL MI 上托管数据库。

    1. 若要创建 SharePoint 场,请打开 SharePoint 命令行管理程序并运行以下Windows PowerShell命令:

         $FarmCredential = Get-Credential -Message "Provide the user name and password for the SharePoint farm service account." 
         $DBCredential = Get-Credential -Message "Provide the user name and password for the Azure SQL Managed Instance database login." 
         $FarmPassphrase = Read-Host -AsSecureString -Prompt "Provide the SharePoint farm passphrase" 
      
         New-SPConfigurationDatabase -DatabaseServer <DBServer> -DatabaseName <ConfigDB> -FarmCredentials $FarmCredential -DatabaseCredentials $DBCredential -Passphrase $FarmPassphrase -LocalServerRole <ServerRole> 
      
    2. 若要将其他 VM 加入 SharePoint 场,请在其他 VM 上打开 SharePoint 命令行管理程序,并运行以下Windows PowerShell命令:

         $DBCredential = Get-Credential -Message "Provide the user name and password for the Azure SQL Managed Instance database login." 
         $FarmPassphrase = Read-Host -AsSecureString -Prompt "Provide the SharePoint farm passphrase" 
      
         Connect-SPConfigurationDatabase -DatabaseServer <DBServer> -DatabaseName <ConfigDB> -DatabaseCredentials $DBCredential -Passphrase $FarmPassphrase -LocalServerRole <ServerRole> 
      

      其中:

      • <DBServer> 是在步骤 4 中为 Azure SQL MI 提供的名称。
      • <ConfigDB> 是要创建的 SharePoint 配置数据库的名称。
      • <ServerRole> 是 SharePoint 场中此服务器的 SharePoint MinRole 服务器角色。
  6. 运行 SharePoint 产品配置向导以完成配置。 接下来,打开管理中心以完成 场配置向导

注意

SharePoint Server 不支持使用 Windows 身份验证 连接到 Azure SQL MI 中托管的数据库。

注意

Azure SQL MI 不支持 Access Services。

更新 SQL 密码

  1. 在 SQL MI 门户中创建另一个管理员帐户。

  2. 在 SharePoint PowerShell 中运行以下命令,更改第二个管理员帐户的用户名和密码:

    $servers = Get-SPServer
    foreach ($server in $servers) {
       $instance = $server.ServiceInstances | Where-Object {$_.TypeName -eq "Microsoft SharePoint Foundation Database"}
       if ($null -ne $instance) {
          break;
       }
    }
    $instance.SecureDBCredential.Username = "<username>"
    $instance.SecureDBCredential.Password = "<password>"
    $instance.SecureDBCredential.Update()
    $instance.Update()
    $SPDBs = Get-SPDatabase
    foreach ($DB in $SPDBs)
    {
       $DB.Username = "<username>"
       $DB.Password = "<password>"
       $DB.Update()
    }
    
    
  3. 在 SQL MI 门户中修改原始帐户密码。

  4. 在 SharePoint PowerShell 中使用上述脚本,使用新密码将用户名和密码更改为原始帐户。

  5. 将第二个管理员帐户设置为 “非活动” 或删除第二个管理员帐户。

另请参阅

其他资源

Azure SQL 数据库托管实例

SQL Server 实例迁移到 Azure SQL 数据库托管实例

快速入门:创建 Azure SQL 数据库托管实例

快速入门:配置 Azure VM 以连接到 Azure SQL 数据库托管实例

快速入门:将数据库还原为托管实例