State Service 應用程式未定義資料庫 (SharePoint Server)

 

**適用版本:**SharePoint Foundation 2013, SharePoint Server 2013, SharePoint Server 2016

**上次修改主題的時間:**2017-12-04

**摘要:**瞭解如何解決 SharePoint Health Analyzer 規則「某個 State Service 應用程式未定義資料庫」。

規則名稱:   某個 State Service 應用程式未定義資料庫

摘要:   某個 State Service 服務應用程式未定義 State Service 資料庫,可能導致使用 InfoPath 網頁瀏覽器表單和 Microsoft SharePoint Server 圖表網頁組件等一些 SharePoint 元件時發生錯誤。

原因:   可能原因包括下列一或多項:

  • 伺服器陣列管理員已刪除與 State Service 服務應用程式相關聯的所有資料庫。

  • 伺服器陣列管理員從未建立資料庫,或從未建立資料庫與 State Service 服務應用程式的關聯。

解決方案:使用 Microsoft PowerShell 為 State Service 服務應用程式建立新資料庫,或使用現有的資料庫

  1. 確認您具備下列成員資格:

    • SQL Server 執行個體上的 securityadmin 固定伺服器角色。

    • 所有要更新之資料庫上的 db_owner 固定資料庫角色。

    • 正在執行 PowerShell Cmdlet 之所在伺服器上的系統管理員群組。

    系統管理員可以使用 Add-SPShellAdmin Cmdlet 授與使用 SharePoint 2013 產品 Cmdlet 的權限。

    注意

    如果您不具備上述權限,請連絡安裝程式系統管理員或 SQL Server 系統管理員要求權限。如需 PowerShell 權限的其他資訊,請參閱 Add-SPShellAdmin

  2. 啟動 SharePoint 管理命令介面。

    如需如何與 Windows Server 2012 互動的詳細資訊,請參閱<Windows 的常見管理工作及瀏覽方式>。

  3. 如果尚未存在您可以使用的資料庫,請在 PowerShell 命令提示字元處,輸入下列命令:

    New-SPStateServiceDatabase -Name <DatabaseName> -DatabaseServer <ServerName> [-DatabaseCredentials <Credential>] [-ServiceApplication <ID>]
    

    其中:

    • <DatabaseName> 是以字串表示的資料庫名稱。

    • <ServerName> 是資料庫伺服器的名稱。

    • <Credential> 是資料庫的 SQL Server 驗證認證。如果未使用此參數,將會使用 Windows 驗證。

    • <ID> 是以字串或 GUID 表示的 State Service 服務應用程式識別碼。如果只有一個 State Service 服務應用程式,則不需要指定此參數。

  4. 在某些環境中,您必須連線至現有的空白 SQL 資料庫。在此情況下,請於 Windows PowerShell 命令提示字元處,輸入下列命令:

    Mount-SPStateServiceDatabase -Name <DatabaseName> -DatabaseServer <ServerName> [-DatabaseCredentials <Credential>] [-ServiceApplication <ID>]
    

    其中:

    • <DatabaseNname> 是以字串表示的資料庫名稱。

    • <ServerName> 是資料庫伺服器的名稱。

    • <Credential> 是資料庫的 SQL Server 驗證認證。如果未使用此參數,將會使用 Windows 驗證。

    • <ID> 是以字串或 GUID 表示的 State Service 服務應用程式識別碼。如果只有一個 State Service 服務應用程式,則不需要指定此參數。

如需詳細資訊,請參閱 Mount-SPStateServiceDatabaseNew-SPStateServiceDatabase