使用 DBA 创建的数据库进行部署 (SharePoint Server 2010)

 

适用于: SharePoint Foundation 2010, SharePoint Server 2010

上一次修改主题: 2016-11-30

本文介绍如何在使用由 DBA 创建的数据库的服务器场环境中部署 Microsoft SharePoint Server 2010。在数据库管理员 (DBA) 独立于 SharePoint 管理员进行工作的组织中,DBA 负责创建和管理所有数据库。在安全要求和公司策略要求分离管理员角色的 IT 环境中,这是典型特征。场管理员需向数据库管理员提出 Microsoft SharePoint Server 2010 数据库要求,而数据库管理员需创建必需的 Microsoft SharePoint Server 数据库,并设置服务器场所需的登录信息。

本文内容:

  • 开始之前

  • 关于配置 DBA 创建的数据库

  • 创建和配置管理中心数据库

  • 创建和配置其他数据库

开始之前

在开始该部署前,应确保您具有在所有场服务器上成功部署和配置 SharePoint Server 所需的全部信息。以下各节提供了确保成功部署 SharePoint Server 所需的信息。

场服务器要求

确保所有场服务器和数据库服务器满足以下文章中记录的各项要求。

数据库要求

对由 DBA 创建的数据库部署 SharePoint Server 2010 时需要与 DBA 合作,以确保在创建和配置服务器场之前,先创建并正确配置需要的所有 SharePoint Server 数据库。

下面的列表显示了 DBA 创建场数据库所需的一些(不一定是全部)信息。在贵组织中,DBA 可能需要更多信息:

  • SQL Server 版本信息以及 Service Pack 和累积更新级别。有关详细信息,请参阅硬件和软件要求 (SharePoint Server 2010)

  • 所需登录帐户及相关角色和权限。有关详细信息,请参阅管理和服务帐户 (SharePoint Server 2010)

  • 所需数据库数量以及 SharePoint 特定配置。通过部署 SharePoint Server 可以获取此类信息。

  • SharePoint 数据存储要求,例如数据类型、数据量、数据库活动类型(读或写)以及每秒的输入/输出操作数 (IOPS)。

  • DBA 必须配置外围应用设置,以便本地和远程连接能够使用 TCP/IP 或命名管道。

  • SharePoint Server 所需的全部数据库均使用 Latin1_General_CI_AS_KS_WS 排序规则。

  • 所有 SharePoint Server 数据库均要求将服务器场“安装”用户帐户作为数据库所有者 (dbo) 分配给它们。

  • SharePoint 用户服务级别协议注意事项。

关于配置 DBA 创建的数据库

使用本文中的步骤作为指导,可部署使用由 DBA 创建的数据库的服务器场。该部署包括此服务器场所需的全部数据库。

备注

本文仅适用于 SharePoint Server 2010 支持的 SQL Server 数据库版本。

在每个步骤中,均需使用 Windows PowerShell 2.0 或 SharePoint Server 命令行工具来配置服务器场。

建议您在执行命令行管理任务时使用 Windows PowerShell。Stsadm 命令行工具已被弃用,仍然提供该工具是为了支持与早期产品版本的兼容性。

备注

Psconfig 位于以下文件夹中:Program Files\Common Files\Microsoft Shared\web server extensions\14\BIN。

若要使用 Windows PowerShell 配置服务器场,请执行下列操作:

  1. 验证用户帐户是否有权访问运行 Windows PowerShell 2.0 的服务器之一,以及该用户帐户是场管理员还是基于 SQL Server 的源内容数据库、管理内容数据库、目标内容数据库和配置数据库的 SharePoint_Shell_Access 角色的成员。

  2. 在“开始”菜单上,单击“所有程序”。

  3. 单击“Microsoft SharePoint 2010 产品”。

  4. 单击“SharePoint 2010 Management Shell”。

  5. 在 Windows PowerShell 提示符下,键入相应的命令,然后按 Enter。

为了说明所需步骤,需要配置的基本服务器场包括:

  1. 管理中心

  2. Web 门户

  3. 诊断日志记录以及使用率和运行状况数据集

  4. 企业级搜索

下列数据库是必需数据库,并且在创建服务器场时,场管理员通常按照以下顺序使用这些数据库。以下列表中的数据库使用的名称是您在使用 SharePoint 产品配置向导设置服务器场时提供的默认名称。当然,您也可以使用自己选择的数据库名称。

  • 配置数据库 (SharePoint_Config)

  • 管理中心内容数据库 (SharePoint_AdminContent_GUID)

  • 网站内容数据库,由 SharePoint Server 安装程序自动创建 (WSS_Content_GUID)

  • 诊断日志记录数据库 (WSS_Logging_GUID)

  • 企业级搜索所需的 SharePoint Server Search Service 应用程序数据库。有关详细信息,请参阅管理服务应用程序和服务 (SharePoint Foundation 2010)管理服务应用程序和服务 (SharePoint Server 2010)

    • 搜索爬网数据库 (Search_Service_1_CrawlStoreDB_GUID)

    • 搜索管理数据库 (Search_Service_1_DB_GUID)

    • 搜索属性数据库 (Search_Service_1_PropertyStoreDB_GUID)

创建和配置管理中心数据库

使用本部分中的步骤来创建所需的数据库,并向数据库中的帐户成员身份授予用户安全组和数据库角色。

这些步骤需要由 DBA 和“安装”用户帐户来执行。可分别对每个步骤使用标签 [DBA] 或 [安装] 以指示由哪个角色执行相应操作。

在需要运行管理中心网站的服务器上,只需对服务器场执行一次下面的步骤。该服务器场具有一个配置数据库和一个管理中心内容数据库。

创建和配置配置数据库、管理中心内容数据库和管理中心 Web 应用程序

  1. [DBA] 使用 LATIN1_General_CI_AS_KS_WS 合并序列创建配置数据库和管理中心内容数据库,并将数据库所有者 (dbo) 设置为“安装”用户帐户。

  2. [安装] 在服务器场中的每台服务器计算机上运行安装程序。您必须使用“完全”安装选项在其中至少一台计算机上运行安装程序。部署带有 SQL Server 的单一服务器 (Office SharePoint Server 2010) 中描述了用于该选项的各个步骤。

  3. [安装] 在安装完成后不运行 SharePoint 产品配置向导。

    从 SharePoint 2010 Management Shell 中,使用 New-SPConfigurationDatabase 命令创建一个新配置数据库,例如:

    New-SPConfigurationDatabase -DatabaseName "SharePointConfigDB1" -DatabaseServer "SQL-01" -Passphrase (ConvertTo-SecureString "MyPassword" -AsPlainText -force) -FarmCredentials (Get-Credential)
    

    有关详细信息,请参阅 New-SPConfigurationDatabase

  4. [安装] 在运行完该命令后,需运行 SharePoint 产品配置向导并完成其余服务器配置步骤。这将创建管理中心 Web 应用程序并执行其他安装和配置任务。

  5. [DBA] 在运行完 SharePoint 产品配置向导后,需同时对配置数据库和管理中心内容数据库执行下列操作:

    • 将 SharePoint Server 搜索帐户、默认内容访问帐户和服务帐户添加到用户组中。

    • 将 SharePoint Server 搜索服务帐户、默认内容访问帐户和服务帐户添加到 WSS_Content_Application_Pools 角色。

  6. [安装] 若要确认已正确创建和配置数据库,请验证是否可以访问管理中心网站的主页。但是,此时不要使用管理中心配置任何内容。如果不显示管理中心页面,请验证此步骤中使用的帐户并确保正确地分配了这些帐户。

在完成本文中的步骤并建立服务器场之后,将需要配置其余场服务器。通过选择“是,我希望连接到现有服务器场”选项(而不使用在本步骤中使用的命令),可在这些服务器上运行 SharePoint 产品配置向导。

只需对服务器场执行一次下面的步骤。该服务器场只包含一个 SharePoint Foundation 搜索数据库。

创建和配置 SharePoint Foundation 搜索数据库并启动搜索服务

  1. [DBA] 使用 LATIN1_General_CI_AS_KS_WS 合并序列创建 SharePoint Foundation 搜索数据库,并将数据库所有者 (dbo) 设置为“安装”用户帐户。

  2. [安装] 打开命令行,然后使用 Get-SPSearchServiceSet-SPSearchServiceGet-SPSearchServiceInstanceSet-SPSearchServiceInstance cmdlet 配置该数据库,并启动搜索服务。可使用下例作为指导。

    $searchService = Get-SPSearchService 
    Set-SPSearchService -MaxBackupDuration 120 
    Get-SPSearchServiceInstance -Local
    Get-SPSearchServiceInstance -Local | Set-SPSearchServiceInstance -ProxyType proxy
    

    有关详细信息,请参阅以下主题:

创建和配置其他数据库

在配置管理中心所需数据库后,可通过创建和配置要使用的 Web 内容和任何服务应用程序所需的数据库,来部署服务器场。

下面的过程需要对场中的每个门户网站执行一次。

此处描述的步骤适用于下列 SharePoint Server 2010 操作:

  • 在承载搜索查询组件或搜索爬网组件的服务器上启动搜索服务。有关详细信息,请参阅管理搜索拓扑

  • 创建和配置门户网站 Web 应用程序内容数据库。

  • 创建和配置 Search Service 应用程序数据库。

必须为服务器场中运行搜索查询或数据库爬网的每台服务器执行一次下面的步骤。

在将运行搜索查询或爬网的每台服务器上启动 SharePoint Server 搜索服务

  1. [安装] 从 SharePoint 2010 Management Shell 中,使用 Get-SPEnterpriseSearchServiceSet- SPEnterpriseSearchServiceGet-SPEnterpriseSearchServiceInstance cmdlet。可使用下例作为指导。

    $searchService = Get-SPEnterpriseSearchService
    $password = Read-Host -AsSecureString
    

******** Set-SPEnterpriseSearchService -IgnoreSSLWarnings $true -ServiceAccount contoso\adminAccount -ServicePassword $password $ssInstance = Get-SPEnterpriseSearchServiceInstance -Local Get-SPEnterpriseSearchServiceInstance -Local | Start-SPEnterpriseSearchServiceInstance

有关详细信息,请参阅以下主题:

  - [Get-SPEnterpriseSearchService](ff608136\(v=office.14\).md)

  - [Set-SPEnterpriseSearchService](ff608126\(v=office.14\).md)

  - [Get-SPEnterpriseSearchServiceInstance](ff607740\(v=office.14\).md)

必须对服务器场中的每个服务应用程序执行一次下面的步骤。在本文使用的示例中,对服务器场使用 Search Service 应用程序。该 Search Service 应用程序需要使用下列数据库:

  1. 搜索管理数据库 (Search_Service_DB)

  2. 搜索爬网数据库 (Search_Service_CrawlStoreDB)

  3. 搜索属性数据库 (Search_Service_PropertyStoreDB)

以下步骤中的所有命令行指令均使用 Windows PowerShell。

创建和配置搜索数据库

  1. [DBA] 将 SharePoint 2010 Management Shell 管理帐户作为临时 SQL Server 登录帐户添加到 dbcreatorsecurityadmin 角色。

  2. [安装] 在临时服务器上创建 Search Service 应用程序,如下所示:

    1. 为搜索管理和搜索查询 Web 服务创建必需的应用程序池,如下所示:

      # Create managed account for DOMAIN\QryPool
      $SearchCR = Get-Credential;$managedAccount = New-SPManagedAccount -Credential $SearchCR
      # Create managed account for DOMAIN\AdminPool
      $SearchCR = Get-Credential;$managedAccount = New-SPManagedAccount -Credential $SearchCR
      
    2. 使用临时 Microsoft SQL Server 数据库创建新的 Search Service 应用程序,如下所示:

      Write-Host -ForegroundColor white Creating the Search service application
      $searchAppName="SearchAppTest"
      $appQueryPoolName=$searchAppName+"_AppQueryPool"
      $appAdminPoolName=$searchAppName+"_AppAdminPool"
      $appQueryPool = New-SPServiceApplicationPool -name $appQueryPoolName -account DOMAIN\QryPool
      $appAdminPool = New-SPServiceApplicationPool -name $appAdminPoolName -account DOMAIN\AdminPool
      
      $searchApp = New-SPEnterpriseSearchServiceApplication -Name $searchAppName -ApplicationPool $appQueryPool -AdminApplicationPool $appAdminPool -DatabaseServer <Temp_SQL_Server>
      
      Write-Host -ForegroundColor white Initializing the administration component
      $searchInstance = Get-SPEnterpriseSearchServiceInstance -Local
      $searchApp | get-SPEnterpriseSearchAdministrationComponent | set-SPEnterpriseSearchAdministrationComponent -SearchServiceInstance $searchInstance
      $admin = ($searchApp | get-SPEnterpriseSearchAdministrationComponent)
      Write-Host -ForegroundColor white Waiting for the admin component to be initialized
      do {write-host -NoNewline .;Start-Sleep 10;} while (-not $admin.Initialized)
      
      Write-Host -ForegroundColor white Creating a new crawl topology
      $InitialCrawlTopology = $searchApp | Get-SPEnterpriseSearchCrawlTopology -Active
      $InitialCrawlTopology
      $searchInstance0 = Get-SPEnterpriseSearchServiceInstance -Local
      $CrawlTopology = $searchApp | New-SPEnterpriseSearchCrawlTopology
      $CrawlDatabase0 = ([array]($searchApp | Get-SPEnterpriseSearchCrawlDatabase))[0]
      $CrawlComponent0 = New-SPEnterpriseSearchCrawlComponent -CrawlTopology $CrawlTopology -CrawlDatabase $CrawlDatabase0 -SearchServiceInstance $searchInstance0 -IndexLocation $searchInstance0.DefaultIndexLocation
      $CrawlTopology | Set-SPEnterpriseSearchCrawlTopology -Active
      Write-Host -ForegroundColor white Waiting for the old crawl topology to become inactive
      do {write-host -NoNewline .;Start-Sleep 10;} while ($InitialCrawlTopology.State -ne "Inactive")
      $InitialCrawlTopology | Remove-SPEnterpriseSearchCrawlTopology
      
      Write-Host -ForegroundColor white Creating a new query topology
      $InitialQueryTopology = $searchApp | Get-SPEnterpriseSearchQueryTopology -Active
      $InitialQueryTopology
      $searchInstance0 = Get-SPEnterpriseSearchServiceInstance -Local
      # Create a new query topology
      $QueryTopology = $searchApp | New-SPEnterpriseSearchQueryTopology -Partitions 1 
      $IndexPartition0= (Get-SPEnterpriseSearchIndexPartition -QueryTopology $QueryTopology)
      $QueryComponent0 = New-SPEnterpriseSearchQuerycomponent -QueryTopology $QueryTopology -IndexPartition $IndexPartition0 -SearchServiceInstance $searchInstance0 -IndexLocation $searchInstance0.DefaultIndexLocation
      # Get the default property store
      $PropertyDatabase0 = ([array]($searchApp | Get-SPEnterpriseSearchPropertyDatabase))[0] 
      $IndexPartition0 | Set-SPEnterpriseSearchIndexPartition -PropertyDatabase $PropertyDatabase0
      $QueryTopology | Set-SPEnterpriseSearchQueryTopology -Active
      Write-Host -ForegroundColor white Waiting for the old query topology to become inactive
      do {write-host -NoNewline .;Start-Sleep 10;} while ($InitialQueryTopology.State -ne "Inactive")
      # Delete the old query topology
      $InitialQueryTopology | Remove-SPEnterpriseSearchQueryTopology
      
      Write-Host -ForegroundColor white Creating the Search application proxy
      $searchAppProxy = new-spenterprisesearchserviceapplicationproxy -name ($searchApp.Name+"_proxy") -Uri $searchApp.Uri
      Write-Host -ForegroundColor white Search provisioning finished
      
    3. 暂停 Search Service 应用程序

      $searchApp.Pause()
      
  3. [DBA] 备份所有搜索数据库:SearchAppTest、SearchAppTest_CrawlStore 和 SearchAppTest_PropertyStore。

  4. [DBA] 将所有搜索数据库还原到生产 SQL Server 数据库服务器。

  5. [DBA] 在生产 SQL Server 数据库服务器上,使用默认设置(保留为“服务器”角色选中的“公共”角色)将下列帐户添加到 SQL Server 的“登录”中:

    • 搜索服务帐户

    • 搜索查询和网站设置 Web 服务应用程序池帐户

    • 搜索管理 Web 服务应用程序池帐户(如果与 Search Service 应用程序池不同)

  6. [DBA] 如果 SQL Server 数据库未用于设置场数据库,则将下列帐户添加到 SQL Server 的“登录”中

    • 基于 SQL Server 的源内容数据库、管理内容数据库、目标内容数据库和配置数据库的 SharePoint_Shell_Access 角色

    • 场管理员帐户

  7. [安装] 切换到新的生产数据库环境。

    1. 将搜索管理数据库切换到新的搜索管理生产数据库。

      $searchapp | Set-SPEnterpriseSearchServiceApplication -DatabaseServer <Production_SQL_server>
      
    2. 等待搜索服务实例完成重新设置。

      do {write-host -NoNewline .;Sleep 10; $searchInstance = Get-SPEnterpriseSearchServiceInstance -Local} while ($searchInstance.Status -ne "Online")
      
    3. 将搜索爬网数据库切换到新的搜索爬网生产数据库。

      $CrawlDatabase0 | Set-SPEnterpriseSearchCrawlDatabase -DatabaseServer <Production_SQL_server>
      
    4. 等待搜索服务实例完成重新设置。

      do {write-host -NoNewline .;Sleep 10; $searchInstance = Get-SPEnterpriseSearchServiceInstance -Local} while ($searchInstance.Status -ne "Online")
      
    5. 将搜索属性数据库切换到新的搜索属性生产数据库。

      $PropertyDatabase0 | Set-SPEnterpriseSearchPropertyDatabase -DatabaseServer <Production_SQL_server>
      
    6. 等待搜索服务实例完成重新设置。

      do {write-host -NoNewline .;Sleep 10; $searchInstance = Get-SPEnterpriseSearchServiceInstance -Local} while ($searchInstance.Status -ne "Online")
      
    7. 重新启动搜索服务实例。

      get-SPEnterpriseSearchServiceInstance | start-SPEnterpriseSearchServiceInstance
      
    8. 继续运行 Search Service 应用程序。

      $searchapp.Resume()
      

使用下列步骤创建和配置门户网站 Web 应用程序及其内容数据库。

创建和配置门户网站 Web 应用程序

  1. [DBA] 使用 LATIN1_General_CI_AS_KS_WS 合并序列创建门户网站 Web 应用程序内容数据库,并将数据库所有者 (dbo) 设置为“安装”用户帐户。

  2. [DBA] 使用 SQL ServerManagement Studio,将服务应用程序服务帐户添加到用户组,然后将其添加到门户网站 Web 应用程序内容数据库的 db_owner 角色。

  3. [安装] 从 SharePoint 2010 Management Shell 中,使用 New-SPWebApplicationGet-SPWebApplication cmdlet 配置门户网站 Web 应用程序内容数据库。可使用下例作为指导。

    New-SPWebApplication -Name "Contoso Internet Site" -Port 80 -HostHeader "http://sharepoint.contoso.com" -URL "https://www.contoso.com" -ApplicationPool "ContosoAppPool" -ApplicationPoolAccount (Get-SPManagedAccount "DOMAIN\jdoe")
    Get-SPWebApplication http://somesite | Set-SPWebApplication -Zone "Extranet" -HostHeader "https://www.contoso.com" - AllowAnonymousAccess
    

    有关详细信息,请参阅 New-SPWebApplicationGet-SPWebApplication

    重要

    此命令必须在运行 Web 应用程序的同一台计算机上运行。主机名称和端口组合不能描述一个已存在的 Web 应用程序,否则将出现错误,并且不会创建 Web 应用程序。

  4. [安装] 在命令提示符下,运行以下命令以重新启动 IIS:iisreset /noforce