Configuration Manager的管理点的数据库副本

适用于: Configuration Manager(current branch)

Configuration Manager主站点可以使用数据库副本 (replica) 来减少管理点在处理来自客户端的请求时放置在站点数据库服务器上的 CPU 负载。 当管理点使用数据库副本 (replica) 时,它会从托管数据库副本 (replica) 的SQL Server计算机而不是从站点数据库服务器请求数据。

此配置可以通过卸载与客户端相关的频繁处理任务来帮助降低站点数据库服务器上的 CPU 处理要求。 客户端频繁处理任务的一个示例包括大量客户端频繁发出客户端策略请求的站点。

关于

  • 副本是站点数据库的部分副本,该副本复制到 SQL Server 的单独实例。

    • 主站点支持站点上每个管理点的专用数据库副本 (replica) 。

    • 辅助站点不支持数据库副本。

    • 同一站点中的多个管理点可以使用单个数据库副本 (replica) 。

    • SQL Server可以托管多个数据库副本,供不同的管理点使用,只要每个副本在单独的 SQL Server 实例中运行。

  • 副本按固定计划从站点数据库服务器为此发布的数据同步站点数据库的副本。

  • 可以将管理点配置为在安装时或稍后使用副本 (replica) 。 对于现有管理点,请将其重新配置为使用数据库副本 (replica) 。

  • 定期监视站点数据库服务器和每个数据库副本 (replica) 服务器,以确保在它们之间发生复制。 确保数据库副本 (replica) 服务器的性能足以满足所需的站点和客户端性能。

先决条件

SQL Server要求

  • 托管数据库副本 (replica) SQL Server与站点数据库服务器的要求相同。 只要副本 (replica) 服务器运行受支持的版本和SQL Server版本,副本 (replica) 服务器就不需要运行与站点数据库服务器相同的版本或版本SQL Server。 有关详细信息,请参阅对SQL Server版本的支持

  • 承载 副本 (replica) 数据库的计算机上的SQL Server服务必须作为系统帐户运行。

  • 托管站点数据库的SQL Server和托管数据库副本 (replica) 必须安装SQL Server复制

  • 站点数据库必须发布数据库副本 (replica) ,并且每个远程数据库副本 (replica) 服务器必须订阅已发布的数据。

  • 将这两个 SQL Server 配置为支持 最大文本重排大小 2 GB。 有关详细信息以及如何为SQL Server配置此设置,请参阅配置最大文本重排大小服务器配置选项

自签名证书

若要配置数据库副本 (replica) ,请在数据库副本 (replica) 服务器上创建自签名证书。 使此证书可用于将使用该数据库副本 (replica) 服务器的每个管理点。

  • 证书会自动提供给安装在数据库副本 (replica) 服务器上的管理点。

  • 若要将此证书提供给远程管理点,请先导出证书。 然后将其添加到远程管理点上的受信任人员证书存储。

客户端通知

若要使用管理点的数据库副本 (replica) 支持客户端通知,请为 SQL Server Service Broker 配置站点数据库服务器与数据库副本 (replica) 服务器之间的通信:

  • 使用有关其他数据库的信息配置每个数据库。

  • 在两个数据库之间交换证书以确保安全通信。

限制

  • 将站点配置为发布数据库副本时,请使用以下过程而不是常规指南:

  • 软件中心中的用户部署不适用于使用 SQL Server 副本 (replica) 的管理点。

  • 升级到当前分支Configuration Manager:在升级站点之前,请从 System Center 2012 Configuration Manager 升级到Configuration Manager当前分支或更新Configuration Manager当前分支到最新版本,禁用管理点的数据库副本。 站点升级后,可以为管理点重新配置数据库副本。

  • 单个SQL Server上的多个副本:如果将数据库副本 (replica) 服务器的单独实例配置为托管管理点的多个数据库副本,请使用修改后的配置脚本。 如 配置数据库副本的过程步骤 4 中所述,此操作可防止覆盖该服务器上以前配置的数据库副本正在使用的自签名证书。

配置

若要配置数据库副本 (replica) ,需要执行以下步骤:

步骤 1 - 配置站点数据库服务器以发布数据库副本 (replica)

使用以下过程作为如何配置站点数据库服务器以发布数据库副本 (replica) 的示例。 具体步骤可能因 Windows Server 版本而异。

在站点数据库服务器上执行以下步骤:

  1. 将SQL Server 代理设置为自动启动。

  2. 创建名称 为 ConfigMgr_MPReplicaAccess 的本地用户组。 对于在此站点中使用的每个数据库副本 (replica) 服务器,将其计算机帐户添加到此组。 此操作使这些数据库副本 (replica) 服务器能够与已发布的数据库副本 (replica) 同步。

    注意

    还可以为此创建域组。

  3. 配置名为 ConfigMgr_MPReplica 的文件共享。

  4. 将以下权限添加到 ConfigMgr_MPReplica 共享:

    注意

    如果SQL Server 代理使用本地系统帐户以外的帐户,请将 SYSTEM 替换为以下列表中的该帐户名称。

    • 共享权限:

      • 系统: 更改

      • ConfigMgr_MPReplicaAccess: 读取

    • NTFS 权限:

      • 系统: 完全控制

      • ConfigMgr_MPReplicaAccess: 读取读取 & 执行列出文件夹内容

  5. 使用 SQL Server Management Studio 连接到站点数据库,并运行以下存储过程作为查询:spCreateMPReplicaPublication

    注意

    如果使用域组而不是本地组,请将此 SQL 语句更改为: EXEC spCreateMPReplicaPublication N'<DomainName>\ConfigMgr_MPReplicaAccess'

存储过程完成后,站点数据库服务器配置为副本 (replica) 发布数据库。

步骤 2 - 配置数据库副本 (replica) 服务器

使用以下过程作为如何配置数据库副本 (replica) 服务器的示例。 具体步骤可能因 Windows Server 版本而异。

在数据库副本 (replica) 服务器上执行以下步骤:

  1. 将SQL Server 代理设置为自动启动。

  2. 使用 SQL Server Management Studio 连接到本地服务器。 浏览到 “复制 ”文件夹,选择“ 本地订阅”,然后选择“ 新建订阅”。 此操作启动 “新建订阅向导”。

    1. “发布”页上,选择“查找SQL Server发布服务器”。 输入站点数据库服务器的名称,然后选择“ 连接”。

    2. 选择“ ConfigMgr_MPReplica”,然后选择“ 下一步”。

    3. “分发代理位置”页上,选择“在其订阅服务器 (请求订阅) 运行每个代理”,然后选择“下一步”。

    4. 在“ 订阅服务器 ”页上,执行以下操作之一:

      • 从数据库副本 (replica) 服务器中选择要用于数据库副本 (replica) 的现有数据库,然后选择“确定”。

      • 选择“新建数据库”,为数据库副本 (replica) 创建新的数据库。 在“ 新建数据库” 页上,指定数据库名称,然后选择“ 确定”。

    5. 选择“下一步”以继续。

    6. 在“分发代理安全性”页上,选择对话框“订阅服务器连接”行中的“属性”按钮 (...) 。 然后配置连接的安全设置。

      提示

      属性按钮 (...) 位于显示框的第四列中。

    • 配置运行分发代理进程的帐户, (进程帐户) :

      • 如果SQL Server 代理作为本地系统运行,请在SQL Server 代理服务帐户下选择“运行” (这不是建议的安全最佳做法。)

      • 如果SQL Server 代理使用其他帐户运行,请选择“在以下 Windows 帐户下运行”,然后配置该帐户。 可以指定 Windows 帐户或SQL Server帐户。

      重要

      向运行 分发代理 的帐户授予作为请求订阅的发布者权限。 有关配置这些权限的详细信息,请参阅 分发代理安全性

    • 对于 “连接到分发服务器”,请选择“ 通过模拟进程帐户”。

    • 对于 “连接到订阅服务器”,请选择“ 通过模拟进程帐户”。

      配置连接安全设置后,选择“ 确定 ”进行保存,然后选择“ 下一步”。

    1. “同步计划 ”页上,选择“ 定义计划”,然后配置 “新建作业计划”。 将频率设置为 “每天发生”,每 5 分钟重复一次 (s) ,并将持续时间设置为 “无结束日期”。 选择“ 下一步 ”保存计划,然后再次选择“ 下一步 ”。

    2. “向导操作” 页上,启用 “创建订阅 () ”选项,然后选择“ 下一步”。

    3. 完成该向导。

  3. 完成“新建订阅向导”后,立即使用 SQL Server Management Studio 连接到数据库副本 (replica) 服务器数据库。 运行以下查询以启用 TRUSTWORTHY 数据库属性: ALTER DATABASE <MP Replica Database Name> SET TRUSTWORTHY ON;

  4. 查看同步状态以验证订阅是否成功:

    • 在订阅服务器上:

      • SQL Server Management Studio 中,连接到数据库副本 (replica) 服务器,然后展开“复制”。

      • 展开“ 本地订阅”,右键单击站点数据库发布的订阅,然后选择“ 查看同步状态”。

    • 在发布者计算机上:

      • “SQL Server Management Studio”中,连接到站点数据库计算机,右键单击“复制”文件夹,然后选择“启动复制监视器”。
  5. 若要为数据库副本 (replica) 启用公共语言运行时 (CLR) 集成,请使用 SQL Server Management Studio 连接到数据库副本 (replica) 服务器上的数据库副本 (replica) 。 以查询的形式运行以下存储过程: exec sp_configure 'clr enabled', 1; RECONFIGURE WITH OVERRIDE

  6. 对于使用数据库副本 (replica) 服务器的每个管理点,将该管理点计算机帐户添加到该数据库副本 (replica) 服务器上的本地管理员组。

    提示

    对于在数据库副本 (replica) 服务器上运行的管理点,不需要此步骤。

数据库副本 (replica) 现在已准备好供管理点使用。

步骤 3 - 配置管理点以使用数据库副本 (replica)

可以在主站点上配置管理点,以在安装管理点角色时使用数据库副本 (replica) ,也可以重新配置现有管理点以使用数据库副本 (replica) 。

使用以下信息将管理点配置为使用数据库副本 (replica) :

  • 配置新的管理点:

    1. 在安装管理点的向导的“管理点数据库”页上,选择“使用数据库副本 (replica) ”。
    2. 指定承载数据库副本 (replica) 的计算机的 FQDN。
    3. 对于 ConfigMgr 站点数据库名称,请指定该计算机上数据库副本 (replica) 的数据库名称。
  • 配置以前安装的管理点:

    1. 打开管理点的属性页,并切换到 “管理点数据库 ”选项卡。
    2. 选择“使用数据库副本 (replica) ”,然后指定承载数据库副本 (replica) 的计算机的 FQDN。
    3. 接下来,对于 ConfigMgr 站点数据库名称,指定该计算机上的数据库副本 (replica) 的数据库名称。

对于使用数据库副本 (replica) 的每个管理点,手动将管理点服务器的计算机帐户添加到数据库副本 (replica) 的 db_datareader 角色。

除了配置管理点以使用数据库副本 (replica) 服务器之外,还可以在管理点上启用 IIS 中的 Windows 身份验证

  1. (IIS) 管理器打开 Internet Information Services

  2. 选择管理点使用的网站,然后打开 “身份验证”。

  3. “Windows 身份验证” 设置为 “已启用”,然后关闭 “Internet Information Services (IIS) 管理器”。

步骤 4 - 为数据库副本 (replica) 服务器配置自签名证书

使用以下过程作为如何在数据库副本 (replica) 服务器上配置自签名证书的示例。 具体步骤可能因 Windows Server 版本而异。

为数据库副本 (replica) 服务器配置自签名证书

  1. 在数据库副本 (replica) 服务器上,使用管理权限打开 PowerShell 命令提示符,然后运行以下命令:Set-ExecutionPolicy Unrestricted

  2. 复制以下 PowerShell 脚本,并将其保存为名为 CreateMPReplicaCert.ps1的文件。 将此文件的副本放在数据库副本 (replica) 服务器的系统分区的根文件夹中。

    重要

    如果要在单个SQL Server上配置多个数据库副本 (replica) ,则对于配置的每个后续副本 (replica) ,请对此过程使用此脚本的修改版本。 有关详细信息,请参阅单个SQL Server上其他数据库副本的补充脚本

    # Script for creating a self-signed certificate for the local machine and configuring SQL Server to use it.  
    
    Param($SQLInstance)  
    
    $ConfigMgrCertFriendlyName = "ConfigMgr SQL Server Identification Certificate"  
    
    # Get local computer name  
    $computerName = "$env:computername"  
    
    # Get the SQL Server name  
    #$key="HKLM:\SOFTWARE\Microsoft\SMS\MP"  
    #$value="SQL Server Name"  
    #$sqlServerName= (Get-ItemProperty $key).$value  
    #$dbValue="Database Name"  
    #$sqlInstance_DB_Name= (Get-ItemProperty $key).$dbValue  
    
    $sqlServerName = [System.Net.Dns]::GetHostByName("localhost").HostName   
    $sqlInstanceName = "MSSQLSERVER"  
    $SQLServiceName = "MSSQLSERVER"  
    
    if ($SQLInstance -ne $Null)  
    {  
        $sqlInstanceName = $SQLInstance  
        $SQLServiceName = "MSSQL$" + $SQLInstance  
    }  
    
    # Delete existing cert if one exists  
    function Get-Certificate($storename, $storelocation)  
    {   
        $store=new-object System.Security.Cryptography.X509Certificates.X509Store($storename,$storelocation)   
        $store.Open([Security.Cryptography.X509Certificates.OpenFlags]::ReadWrite)   
        $store.Certificates   
    }   
    
    $cert = Get-Certificate "My" "LocalMachine" | ?{$_.FriendlyName -eq $ConfigMgrCertFriendlyName}   
    if($cert -is [Object])  
    {  
        $store = new-object System.Security.Cryptography.X509Certificates.X509Store("My","LocalMachine")   
        $store.Open([Security.Cryptography.X509Certificates.OpenFlags]::ReadWrite)   
        $store.Remove($cert)  
        $store.Close()  
    
        # Remove this cert from Trusted People too...  
        $store = new-object System.Security.Cryptography.X509Certificates.X509Store("TrustedPeople","LocalMachine")   
        $store.Open([Security.Cryptography.X509Certificates.OpenFlags]::ReadWrite)   
        $store.Remove($cert)  
        $store.Close()      
    }  
    
    # Create the new cert  
    $name = new-object -com "X509Enrollment.CX500DistinguishedName.1"  
    $name.Encode("CN=" + $sqlServerName, 0)  
    
    $key = new-object -com "X509Enrollment.CX509PrivateKey.1"  
    $key.ProviderName = "Microsoft RSA SChannel Cryptographic Provider"  
    $key.KeySpec = 1  
    $key.Length = 1024  
    $key.SecurityDescriptor = "D:PAI(A;;0xd01f01ff;;;SY)(A;;0xd01f01ff;;;BA)(A;;0x80120089;;;NS)"  
    $key.MachineContext = 1  
    $key.Create()  
    
    $serverauthoid = new-object -com "X509Enrollment.CObjectId.1"  
    $serverauthoid.InitializeFromValue("1.3.6.1.5.5.7.3.1")  
    $ekuoids = new-object -com "X509Enrollment.CObjectIds.1"  
    $ekuoids.add($serverauthoid)  
    $ekuext = new-object -com "X509Enrollment.CX509ExtensionEnhancedKeyUsage.1"  
    $ekuext.InitializeEncode($ekuoids)  
    
    $cert = new-object -com "X509Enrollment.CX509CertificateRequestCertificate.1"  
    $cert.InitializeFromPrivateKey(2, $key, "")  
    $cert.Subject = $name  
    $cert.Issuer = $cert.Subject  
    $cert.NotBefore = get-date  
    $cert.NotAfter = $cert.NotBefore.AddDays(3650)  
    $cert.X509Extensions.Add($ekuext)  
    $cert.Encode()  
    
    $enrollment = new-object -com "X509Enrollment.CX509Enrollment.1"  
    $enrollment.InitializeFromRequest($cert)  
    $enrollment.CertificateFriendlyName = "ConfigMgr SQL Server Identification Certificate"  
    $certdata = $enrollment.CreateRequest(0x1)  
    $enrollment.InstallResponse(0x2, $certdata, 0x1, "")  
    
    # Add this cert to the trusted peoples store  
    [Byte[]]$bytes = [System.Convert]::FromBase64String($certdata)  
    
    $trustedPeople = new-object System.Security.Cryptography.X509certificates.X509Store "TrustedPeople", "LocalMachine"  
    $trustedPeople.Open([Security.Cryptography.X509Certificates.OpenFlags]::ReadWrite)  
    $trustedPeople.Add([Security.Cryptography.X509Certificates.X509Certificate2]$bytes)  
    $trustedPeople.Close()  
    
    # Get thumbprint from cert  
    $sha = new-object System.Security.Cryptography.SHA1CryptoServiceProvider  
    $certHash = $sha.ComputeHash($bytes)  
    $certHashCharArray = "";  
    $certThumbprint = "";  
    
    # Format the bytes into a hexadecimal string  
    foreach($byte in $certHash)  
    {  
        $temp = ($byte | % {"{0:x}" -f $_}) -join ""  
        $temp = ($temp | % {"{0,2}" -f $_})  
        $certHashCharArray = $certHashCharArray+ $temp;  
    }  
    $certHashCharArray = $certHashCharArray.Replace(' ', '0');  
    
    # SQL Server needs the thumbprint in lower case  
    foreach($char in $certHashCharArray)  
    {  
        [System.String]$myString = $char;  
        $certThumbprint = $certThumbprint + $myString.ToLower();  
    }  
    
    # Configure SQL Server to use this cert  
    $path = "HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL"  
    $subKey = (Get-ItemProperty $path).$sqlInstanceName  
    $realPath = "HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\" + $subKey + "\MSSQLServer\SuperSocketNetLib"  
    $certKeyName = "Certificate"  
    Set-ItemProperty -path $realPath -name $certKeyName -Type string -Value $certThumbprint  
    
    # restart SQL Server service  
    Restart-Service $SQLServiceName -Force  
    
  3. 在数据库副本 (replica) 服务器上,运行以下命令,该命令适用于SQL Server的配置:

    • 对于 SQL Server 的默认实例:在 PowerShell 会话中输入以下命令:.\CreateMPReplicaCert.ps1。 脚本运行时,它会创建自签名证书,并将SQL Server配置为使用该证书。

    • 对于SQL Server的命名实例:使用 PowerShell 运行以下命令:.\CreateMPReplicaCert.ps1 <SQL Server instance name>

    脚本完成后,验证SQL Server 代理是否正在运行。 如果没有,请重启SQL Server 代理。

配置远程管理点以使用数据库副本 (replica) 服务器的自签名证书

数据库副本 (replica) 服务器上执行以下步骤,导出服务器的自签名证书:

  1. 转到 “开始 ”菜单,选择“ 运行”,然后键入 mmc.exe。 在空控制台中,选择“ 文件”,然后选择“ 添加/删除管理单元”。

  2. “添加或删除管理单元”对话框中,从“可用管理单元”列表中选择“证书”,然后选择“添加”。

  3. 在“ 证书管理单元 ”对话框中,选择“ 计算机帐户”,然后选择“ 下一步”。

  4. “选择计算机 ”对话框中,确保选中“ 本地计算机: (此控制台在) 上运行的计算机 ”,然后选择“ 完成”。

  5. “添加或删除管理单元 ”对话框中,选择“ 确定”。

  6. 在控制台中,展开 “证书 (本地计算机) ”,展开“ 个人”,然后选择“ 证书”。

  7. 右键单击友好名称为“ConfigMgr SQL Server标识证书”的证书,选择“所有任务”,然后选择“导出”。

  8. 使用默认选项完成 证书导出向导 。 使用 .cer 文件扩展名保存证书。

管理点服务器上执行以下步骤,将数据库副本 (replica) 服务器的自签名证书添加到受信任的人员证书存储:

  1. 重复上述步骤,在管理点计算机上打开 证书 管理单元 MMC。

  2. 在“证书”控制台中,展开“本地计算机 () 的证书”,展开“受信任的人员”,右键单击“证书”,选择“所有任务”,然后选择“导入”。 此操作将启动 证书导入向导

  3. 在“ 要导入的文件 ”页上,选择保存的证书,然后选择“ 下一步”。

  4. 在“证书存储”页上,选择“将所有证书放入以下存储区”,并将“证书存储”设置为“受信任的人员”,然后选择“下一步”。

  5. 选择“ 完成 ”以关闭向导并完成管理点上的证书配置。

步骤 5 - 为数据库副本 (replica) 服务器配置 SQL Server Service Broker

若要使用管理点的数据库副本 (replica) 支持客户端通知,请为 SQL Server Service Broker 配置站点数据库服务器与数据库副本 (replica) 服务器之间的通信。 使用有关其他数据库的信息配置每个数据库,并在两个数据库之间交换证书以确保安全通信。

注意

在使用以下过程之前,数据库副本 (replica) 服务器必须成功完成与站点数据库服务器的初始同步。

以下过程不会修改在 SQL Server 中为站点数据库服务器或数据库副本 (replica) 服务器配置的 Service Broker 端口。 此过程使用正确的 Service Broker 端口将每个数据库配置为与其他数据库通信。

使用以下过程为站点数据库服务器和数据库副本 (replica) 服务器配置 Service Broker:

  1. 使用 SQL Server Management Studio 连接到 副本 (replica) 服务器数据库。 然后运行以下查询,在数据库副本 (replica) 服务器上启用 Service Broker:ALTER DATABASE <Replica Database Name> SET ENABLE_BROKER, HONOR_BROKER_PRIORITY ON WITH ROLLBACK IMMEDIATE

  2. 数据库副本 (replica) 服务器上,为客户端通知配置 Service Broker 并导出 Service Broker 证书。 运行SQL Server存储过程,以配置 Service Broker 并将证书导出为单个操作。 运行存储过程时,请指定数据库副本 (replica) 服务器的 FQDN、数据库副本数据库的名称,并指定导出证书文件的位置。

    运行以下查询以在数据库副本 (replica) 服务器上配置所需详细信息,并导出数据库副本 (replica) 服务器的证书:EXEC sp_BgbConfigSSBForReplicaDB '<Replica SQL Server FQDN>', '<Replica Database Name>', '<Certificate Backup File Path>'

    注意

    当数据库副本 (replica) 服务器不在SQL Server的默认实例上时,还要使用副本 (replica) 数据库名称指定实例名称。 在示例命令中,将 替换为 <Replica Database Name><Instance name>\<Replica Database Name>

    从数据库副本 (replica) 服务器导出证书后,将证书的副本放在主站点数据库服务器上。

  3. 使用 SQL Server Management Studio 连接到主站点数据库。 连接到主站点数据库后,运行查询以导入证书,并指定数据库副本 (replica) 服务器上正在使用的 Service Broker 端口、数据库副本 (replica) 服务器的 FQDN 以及数据库副本数据库的名称。 此操作将主站点数据库配置为使用 Service Broker 与数据库副本 (replica) 服务器的数据库通信。

    运行以下查询以从数据库副本 (replica) 服务器导入证书,并指定所需的详细信息:EXEC sp_BgbConfigSSBForRemoteService 'REPLICA', '<SQL Service Broker Port>', '<Certificate File Path>', '<Replica SQL Server FQDN>', '<Replica Database Name>'

    注意

    当数据库副本 (replica) 服务器不在SQL Server的默认实例上时,还要使用副本 (replica) 数据库名称指定实例名称。 在示例命令中,将 替换为 <Replica Database Name><Instance name>\<Replica Database Name>

  4. 站点数据库服务器上,运行以下命令以导出站点数据库服务器的证书: EXEC sp_BgbCreateAndBackupSQLCert '<Certificate Backup File Path>'

    从站点数据库服务器导出证书后,将证书的副本放在数据库副本 (replica) 服务器上。

  5. 使用 SQL Server Management Studio 连接到 副本 (replica) 服务器数据库。 连接到 副本 (replica) 服务器数据库后,运行查询以导入证书,并指定主站点的站点代码和站点数据库服务器上使用的 Service Broker 端口。 此操作将数据库副本 (replica) 服务器配置为使用 Service Broker 与主站点的数据库通信。

    运行以下查询以从站点数据库服务器导入证书: EXEC sp_BgbConfigSSBForRemoteService '<Site Code>', '<SQL Service Broker Port>', '<Certificate File Path>'

完成站点数据库和数据库副本 (replica) 数据库的配置几分钟后,主站点上的通知管理器设置从主站点数据库到数据库副本 (replica) 客户端通知的 Service Broker 会话。

单个SQL Server上其他数据库副本的补充脚本

使用步骤 4 中的脚本在已有数据库副本 (replica) 计划继续使用的SQL Server上为数据库副本 (replica) 服务器配置自签名证书时,请使用原始脚本的修改版本。 以下修改可防止脚本删除服务器上的现有证书,并创建具有唯一友好名称的后续证书。 编辑原始脚本,如下所示:

  • 注释掉脚本条目 # Delete existing cert if one exists# Create the new cert之间的每一行。 添加井号 (#) 作为每个适用行的第一个字符。

  • 对于每个后续数据库副本 (replica) 使用此脚本进行配置,请更新证书的友好名称。 编辑行 $enrollment.CertificateFriendlyName = "ConfigMgr SQL Server Identification Certificate" ,并将 替换为 ConfigMgr SQL Server Identification Certificate 新名称。 例如,ConfigMgr SQL Server Identification Certificate1

管理数据库副本 (replica) 配置

在站点上使用数据库副本 (replica) 时,请使用以下部分中的信息来补充卸载数据库副本 (replica) 、卸载使用数据库副本 (replica) 的站点或将站点数据库移动到新安装SQL Server的过程。 删除发布时,请使用删除用于数据库副本 (replica) 的 SQL Server 版本的事务复制的指南。 有关详细信息,请参阅 删除发布

注意

还原为数据库副本配置的站点数据库后,在使用数据库副本之前,请重新配置每个数据库副本 (replica) 并重新创建发布和订阅。

卸载数据库副本 (replica)

将数据库副本 (replica) 用于管理点时,可能需要将其卸载,然后重新配置以供使用。 例如,在将Configuration Manager更新到最新版本之前删除数据库副本。 站点更新完成后,还原数据库副本 (replica) 以供使用。

使用以下步骤卸载数据库副本 (replica) 。

  1. 在Configuration Manager控制台的“管理”工作区中,展开“站点配置”,然后选择“服务器和站点系统角色”。 在详细信息窗格中,选择托管使用要卸载的数据库的管理点的站点系统服务器副本 (replica) 。

  2. 在“ 站点系统角色 ”窗格中,选择 “管理点 ”角色。 在功能区的“ 站点角色 ”选项卡上,选择“ 属性”。

  3. 切换到“管理点数据库”选项卡。选择“使用站点数据库”将管理点配置为使用站点数据库而不是数据库副本 (replica) 。 选择 “确定” 以保存配置。

  4. 使用 SQL Server Management Studio 执行以下任务:

    • 从站点服务器数据库中删除数据库副本 (replica) 的发布。

    • 从数据库副本 (replica) 服务器中删除数据库副本 (replica) 的订阅。

    • 从数据库副本 (replica) 服务器中删除副本 (replica) 数据库。

    • 在站点数据库服务器上禁用发布和分发。 若要禁用发布和分发,请右键单击“ 复制 ”文件夹,然后选择“ 禁用发布和分发”。

删除发布、订阅、副本 (replica) 数据库并在站点数据库服务器上禁用发布后,将卸载数据库副本 (replica) 。

卸载发布数据库副本 (replica) 的站点服务器

在卸载发布数据库副本 (replica) 的站点之前,请使用以下步骤清理发布和任何订阅。

  1. 使用 SQL Server Management Studio 从站点服务器数据库中删除数据库副本 (replica) 发布。

  2. 使用 SQL Server Management Studio 从承载此站点的数据库副本 (replica) 的每个远程SQL Server中删除数据库副本 (replica) 订阅。

  3. 卸载站点。

移动发布数据库副本 (replica) 的站点服务器数据库

将站点数据库移动到新计算机时,请使用以下步骤:

  1. 使用 SQL Server Management Studio 从站点服务器数据库中删除数据库副本 (replica) 的发布。

  2. 使用 SQL Server Management Studio从此站点的每个数据库副本 (replica) 服务器中删除数据库副本 (replica) 的订阅。

  3. 将数据库移动到新的SQL Server计算机。 有关详细信息,请参阅 修改站点数据库配置

  4. 在站点数据库服务器上为数据库副本 (replica) 重新创建发布。 有关详细信息,请参阅步骤 1 - 配置站点数据库服务器以发布数据库副本 (replica)

  5. 在每个数据库副本 (replica) 服务器上重新创建数据库副本 (replica) 订阅。 有关详细信息,请参阅步骤 2 - 配置数据库副本 (replica) 服务器