在 Lync Server 2013 中使用 Lync Server 命令行管理程序安装数据库

 

上次修改的主题: 2016-06-16

服务器管理员与SQL Server管理员之间的角色和职责分离可能会导致实现延迟。 Lync Server 2013 使用基于角色的访问控制 (RBAC) 来缓解这些困难。 在某些情况下,SQL Server管理员必须在 RBAC 外部管理基于SQL Server的服务器上的数据库安装。 Lync Server 2013 Management Shell 为SQL Server管理员提供了一种运行Windows PowerShell cmdlet 的方法,该 cmdlet 旨在使用正确的数据和日志文件配置数据库。 有关详细信息,请参阅 Lync Server 2013 中SQL Server的部署权限。

重要

以下过程假定至少安装了 Lync Server 2013 OCSCore.msi、SQL Server Native Client (sqlncli.msi) Microsoft SQL Server 2012 管理对象、Microsoft SQL Server 2012 和 Microsoft SQL Server 2012 ADOMD.NET 的 CLR 类型。 OCSCore.msi位于 \Setup\AMD64\Setup 目录中的安装介质上。 其余组件位于 \Setup\amd64 中。 此外,Lync Server 2013 的 Active Directory 准备已成功完成。

Install-CsDatabase 是用于安装数据库的Windows PowerShell cmdlet。 Install-CsDatabase cmdlet 具有大量参数,其中只有几个参数在此处讨论。 有关可能参数的详细信息,请参阅 Lync Server 2013 Management Shell 文档。

警告

为了避免性能和可能的超时问题,在引用基于SQL Server的服务器时,始终使用完全限定的域名 (FQDN) 。 避免使用仅限主机名的引用。 例如,使用 sqlbe01.contoso.net,但避免使用 SQLBE01。

对于安装数据库,Install-CsDatabase 使用三种主要方法将数据库放置到基于SQL Server准备的服务器上:

  • 在没有 DatabasePaths 或 UseDefaultSqlPath 的情况下运行 Install-CsDatabase 。 该 cmdlet 使用内置算法来确定日志和数据文件的最佳位置。 该算法仅适用于独立的SQL Server实现。

  • 使用 DatabasePaths 参数运行 Install-CsDatabase 。 如果定义了 DatabasePaths 参数,则不使用内置算法来优化日志和数据文件位置。 使用此参数可以定义将部署日志和数据文件的位置。

  • 使用 UseDefaultSqlPaths 运行 Install-CsDatabase 。 此选项不使用内置算法来优化日志和数据文件位置。 日志和数据文件是根据SQL Server管理员设置的默认值部署的。 这些路径通常是为了提前在SQL Server上自动管理日志和数据文件而设置的,并且不与 Lync Server 2013 的设置相关联。

  • DatabasePathMap 参数还可用于为每个数据库及其各自的日志文件显式指定位置。

使用Windows PowerShell cmdlet 配置SQL Server管理中心存储

  1. 在任何计算机上,使用管理凭据登录,以便在基于SQL Server的服务器上创建数据库。 有关详细信息,请参阅 Lync Server 2013 中SQL Server的部署权限。

  2. 打开 Lync Server 2013 Management Shell。 如果尚未调整Windows PowerShell的执行策略,则必须调整策略以允许运行Windows PowerShell脚本。 有关详细信息,请参阅“检查执行策略”。https://go.microsoft.com/fwlink/p/?linkId=203093

  3. 使用 Install-CsDatabase cmdlet 安装中央管理存储。

     Install-CsDatabase -CentralManagementDatabase -SqlServerFqdn <fully qualified domain name of SQL Server> 
     -SqlInstanceName <named instance> -DatabasePaths <logfile path>,<database file path> 
     -Report <path to report file>
    
     Install-CsDatabase -CentralManagementDatabase -SqlServerFqdn sqlbe.contoso.net -SqlInstanceName rtc -DatabasePaths "C:\CSDB-Logs","C:\CSDB-CMS" -Report "C:\Logs\InstallDatabases.html"
    

    提示

    报表参数是可选的,但如果要记录安装过程,则很有用。

  4. Install-CsDatabase –DatabasePaths 最多可以使用六个路径参数,每个参数可定义SQL Server数据和日志文件放置中定义的驱动器的路径。 根据 Lync Server 2013 中数据库配置的逻辑规则,驱动器解析为 2、4 或 6 个存储桶。 根据SQL Server配置和存储桶数,你将提供两个路径、四个路径或六个路径。

    如果有三个驱动器,则日志将获得优先级,之后会分发数据文件。 配置了六个驱动器的基于SQL Server服务器的示例:

    Install-CsDatabase -ConfiguredDatases -SqlServerFqdn sqlbe.contoso.net -DatabasePaths "D:\CSDynLogs","E:\CSRtcLogs","F:\MonCdrArcLogs","G:\MonCdrArchData","H:\AbsAppLog","I:\DynRtcAbsAppData" -Report "C:\Logs\InstallDatabases.html"
    
  5. 数据库安装完成后,可以关闭 Lync Server 2013 Management Shell 或继续安装拓扑生成器中定义的 Lync Server 2013 配置的数据库。

使用Windows PowerShell cmdlet 配置SQL Server拓扑配置的数据库

  1. 若要为 Lync Server 2013 安装拓扑生成器配置的数据库,Lync Server 2013 管理员必须发布拓扑。 有关详细信息,请参阅部署文档 中的 Lync Server 2013 中的拓扑

  2. 在任何计算机上,使用管理凭据登录,以便在基于SQL Server的服务器上创建数据库。 请参阅主题:Lync Server 2013 中SQL Server的部署权限。

    重要

    若要能够配置基于SQL Server的数据库,请确保用于运行此处所述步骤的SQL Server管理员帐户也是运行SQL Server并担任中央管理服务器角色的服务器上的 sysadmins 组成员 (或等效) 的成员。 这对于检查需要SQL Server数据库安装或配置的任何其他 Lync Server 2013 池尤为重要。 例如,如果要部署第二个池 (pool02) 但中央管理服务器角色由 pool01 持有。 SQL Server sysadmin 组 (或等效) 必须对基于SQL Server的数据库拥有权限。

  3. 打开 Lync Server 2013 Management Shell(如果尚未打开)。

  4. 使用 Install-CsDatabase cmdlet 安装拓扑生成器配置的数据库。

     Install-CsDatabase -ConfiguredDatabases -SqlServerFqdn <fully qualified domain name of SQL Server> 
      -DatabasePaths <logfile path>,<database file path> -Report <path to report file>
    
     Install-CsDatabase -ConfiguredDatabases -SqlServerFqdn sqlbe.contoso.net 
     -Report "C:\Logs\InstallDatabases.html"
    

    提示

    报表参数是可选的,但如果要记录安装过程,则很有用。

  5. 数据库安装完成后,关闭 Lync Server 2013 Management Shell。

使用 Windows PowerShell cmdlet 使用 DatabasePathMap 参数配置SQL Server拓扑

  1. 若要安装 Lync Server 2013 的数据库,Lync Server 管理员必须创建路径,并根据预定义的一组规则部署数据库文件和日志文件。

  2. 在任何计算机上,使用管理凭据登录,以便在基于SQL Server的服务器上创建数据库。 请参阅主题:Lync Server 2013 中SQL Server的部署权限。

    重要

    若要能够配置基于SQL Server的数据库,请确保用于运行此处所述步骤的SQL Server管理员帐户也是运行SQL Server并担任中央管理服务器角色的服务器上的 sysadmins 组成员 (或等效) 的成员。 这对于检查是否需要SQL Server数据库安装或配置的任何其他 Lync Server 池尤为重要。 例如,如果要部署第二个池 (pool02) 但中央管理服务器角色由 pool01 持有。 SQL Server sysadmin 组 (或等效) 必须对基于SQL Server的数据库拥有权限。

  3. 打开 Lync Server Management Shell(如果尚未打开)。

  4. Install-CsDatabase cmdlet 与 DatabasePathMap 参数和 PowerShell 哈希表配合使用,以安装拓扑生成器配置的数据库。

  5. 在示例代码中,可以使用 –DatabasePathMap 参数和定义的哈希表以粒度方式确定为数据库定义的路径,如下所示 (示例对所有数据库 (.mdf) 文件使用“C:\CSData”,为所有日志 (.ldf) 文件使用“C:\CSLogFiles”。 Install-CsDatabase) 将根据需要创建文件夹:

    $pathmap = @{
    "BackendStore:BlobStore:DbPath"="C:\CsData";"BackendStore:BlobStore:LogPath"="C:\CsLogFiles"
    "BackendStore:RtcSharedDatabase:DbPath"="C:\CsData";"BackendStore:RtcSharedDatabase:LogPath"="C:\CsLogFiles"
    "ABSStore:AbsDatabase:DbPath"="C:\CsData";"ABSStore:AbsDatabase:LogPath"="C:\CsLogFiles"
    "ApplicationStore:RgsConfigDatabase:DbPath"="C:\CsData";"ApplicationStore:RgsConfigDatabase:LogPath"="C:\CsLogFiles"
    "ApplicationStore:RgsDynDatabase:DbPath"="C:\CsData";"ApplicationStore:RgsDynDatabase:LogPath"="C:\CsLogFiles"
    "ApplicationStore:CpsDynDatabase:DbPath"="C:\CsData";"ApplicationStore:CpsDynDatabase:LogPath"="C:\CsLogFiles"
    "ArchivingStore:ArchivingDatabase:DbPath"="C:\CsData";"ArchivingStore:ArchivingDatabase:LogPath"="C:\CsLogFiles"
    "MonitoringStore:MonitoringDatabase:DbPath"="C:\CsData";"MonitoringStore:MonitoringDatabase:LogPath"="C:\CsLogFiles"
    "MonitoringStore:QoEMetricsDatabase:DbPath"="C:\CsData";"MonitoringStore:QoEMetricsDatabase:LogPath"="C:\CsLogFiles"
    }
    Install-CsDatabase -ConfigureDatabases -SqlServerFqdn sqlbe01.contoso.net -DatabasePathMap $pathmap
    
  6. 由于数据库和日志文件使用其在目标数据库服务器上的位置显式命名,因此可以为每个服务类型的实际数据库和日志位置定义特定位置。 下面的示例将每个特定服务类型的数据库放在单独的磁盘上,并将关联的日志文件放在另一个磁盘上。 例如:

    • 所有 RTC 数据库到“D:\RTCDatabase”

    • 将所有 RTC 日志文件记录到“E:\RTCLogs”

    • 所有应用程序存储数据库到“F:\CPSDatabases”

    • 所有应用程序存储日志都记录到“G:\CPSLogs”

    • 所有响应组将数据库存储到“H:\RGSDatabases”

    • 所有响应组将日志存储到“I:\RGSLogs”

    • 所有通讯簿存储数据库到“J:\ABSDatabases”

    • 所有通讯簿存储日志文件都指向“K:\ABSLogs”

    • 将所有存档存储数据库都存档到“L:\ArchivingDatabases”

    • 将所有存档存储日志都存档到“M:\ArchivingLogs”

    • 所有监视存储数据库到“N:\MonitoringDatabases”

    • 所有监视存储日志文件到“O:\MonitoringLogfiles”

    $pathmap = @{
    "BackendStore:BlobStore:DbPath"="D:\RTCDatabase";"BackendStore:BlobStore:LogPath"="E:\RTCLogs"
    "BackendStore:RtcSharedDatabase:DbPath"="D:\RTCDatabase";"BackendStore:RtcSharedDatabase:LogPath"="E:\RTCLogs"
    "ABSStore:AbsDatabase:DbPath"="J:\ABSDatabases";"ABSStore:AbsDatabase:LogPath"="K:\ABSLogs"
    "ApplicationStore:RgsConfigDatabase:DbPath"="H:\RGSDatabases";"ApplicationStore:RgsConfigDatabase:LogPath"="G:\CPSLogs"
    "ApplicationStore:RgsDynDatabase:DbPath"="H:\RGSDatabases";"ApplicationStore:RgsDynDatabase:LogPath"="I:\RGSLogs"
    "ApplicationStore:CpsDynDatabase:DbPath"="F:\CPSDatabases";"ApplicationStore:CpsDynDatabase:LogPath"="G:\CsLogFiles"
    "ArchivingStore:ArchivingDatabase:DbPath"="M:\ArchivingLogs";"ArchivingStore:ArchivingDatabase:LogPath"="N:\MonitoringDatabases"
    "MonitoringStore:MonitoringDatabase:DbPath"="N:\MonitoringDatabases";"MonitoringStore:MonitoringDatabase:LogPath"="O:\MonitoringLogfiles"
    "MonitoringStore:QoEMetricsDatabase:DbPath"="N:\MonitoringDatabases";"MonitoringStore:QoEMetricsDatabase:LogPath"="O:\MonitoringLogfiles"
    }
    
    Install-CsDatabase -ConfiguredDatabases -SqlServerFqdn sqlbe01.contoso.net -DatabasePathMap $pathmap
    

    使用 –DatabasePathMap 参数,可以定义任何逻辑驱动器号映射组合,为SQL Server性能和放置要求提供最佳解决方案。

如果使用 DatabasePathMap 方法配置数据库数据文件和日志文件,则在使用拓扑生成器时,需要对正常过程稍作更改。 通常,你将定义拓扑选项,发布拓扑,并选择部署数据库选择。

如果已使用 DatabasePathMap ,则已完成拓扑生成器过程的第三部分。 如果在运行拓扑生成器之前拥有完全配置的数据库服务器,仍会定义所有服务器角色和选项,但取消选择创建数据库的选项。