KB2890052 - Integration Services 目錄權限不適用於 SQL Server 2012 或 SQL Server 2014 中的 Windows 群組

套用到
SQL Server 2012 Business Intelligence SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

症狀

請考慮以下案例:

  • 您在 Microsoft SQL Server 2012 或 SQL Server 2014 中執行 Integration Services 目錄和 SSISDB 目錄的執行個體。

  • 您可以將權限授與 Windows 群組的成員,讓他們能夠存取 SSIS 目錄資料夾、專案或環境的安全性項目。

    注意: 您可以透過下列任一方式授予權限:

    • 您使用 Management Studio。 若要這樣做,請以滑鼠右鍵按一下 Integration Services 目錄中的物件,選取 [屬性],然後在 [權限 ] 頁面上瀏覽至群組,新增群組,然後選取該群組的權限。
    • 呼叫下列預存程序:
      [SSISDB]。[目錄]。[grant_permission]
  • 身為 Windows 群組成員的 Windows 使用者嘗試使用 Management Studio 或預存程序,在 Integration Services 目錄中檢視和執行 SSISDB 資料庫中的套件。

在此案例中,使用者無法看到已授與權限的套件,也無法驗證或執行這些套件。

原因

之所以發生這個問題,是因為 SSISDB 內部檢視中的問題。 這會讓使用者在使用 Windows 群組成員資格授與權限時無法擁有預期的有效權限。

解決方式

此問題已先在下列 SQL Server 累積更新中修正。

SQL Server 2014 累積更新 1 /zh-tw/help/2931693

SQL Server 2012 SP1 的累積更新 7 /zh-tw/help/2894115

關於 SQL Server 的累積更新

SQL Server 的每個新累積更新都包含所有 Hotfix 和先前累積更新的所有安全性修正程式。 查看 SQL Server 的最新累積更新:

      

因應措施

若要解決此問題,請勿使用各種使用者的 Windows 群組來存取 SSIS 安全性保護。 請改為在 SQL Server 中使用使用者定義的資料庫角色來封裝必要的 Windows 使用者清單,然後將權限指派給該資料庫角色。

因應措施步驟

若要這麼做,請按照下列步驟進行:

  1. 為 SQL Server 執行個體建立必要的 Windows 登入,然後授與使用者存取 SSISDB 資料庫的權限。 例如,您可以透過移至 [安全性],按一下 [ 登入],然後按一下 [ 新增登入] 來使用 Management Studio。 或者,您可以針對每個 Windows 使用者登入使用以下指令碼:

    使用 主機
    GO
    使用 DEFAULT_DATABASE=MASTER 從 WINDOWS 建立登入網域\使用者名稱
    GO
    使用 SSISDB
    GO
    建立使用者\網域使用者名稱用於\登入網域使用者名稱
    GO

  2. 在 SSISDB 資料庫中,建立使用者定義的資料庫角色,例如 ssis_users。 例如,您可以使用 Management Studio,方法是移至 [資料庫],按一下 [SSISDB]、[安全性]、[角色]、[資料庫角色],然後按一下 [新增資料庫角色]。 或者,您可以使用下列指令碼:

    使用 SSISDB
    GO
    建立角色 ssis_users
    GO

  3. 將 SSISDB 中所需的使用者新增至角色ssis_users。 例如,您可以使用 Management Studio,方法是移至 [資料庫],按一下 [SSISDB]、[安全性]、[角色]、[資料庫角色]、[角色成員],然後按一下 [新增]。 或者,您可以使用下列指令碼:

    使用 SSISDB
    GO
    ALTER ROLE ssis_users 新增成員 網域\使用者名稱
    GO

  4. 以滑鼠右鍵按一下 Integration Services 目錄中的安全性物件,按一下 [屬性],然後按一下 [權限] 頁面上的 [ 瀏覽 ],將資料庫角色新增到權限中,然後在想要的明確權限上選取 [ 授與 ] 或 [拒絕 ],如下所示:

    在所需的明確權限上選取 [授與] 或 [拒絕]

注意:這些權限可能不足以成功執行 SSIS 套件。 每個 SSIS 套件都是自訂設計,並且可能有額外的特定需求,才能存取特定的伺服器和資料庫或共用,以成功驗證或執行 SSIS 套件。

狀態

Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。

參考資料

如需詳細資訊,請參閱 Microsoft Developer Network (MSDN) 網站上的下列主題:

SSIS 目錄
        
         資料夾內容對話方塊
        
         [專案內容] 對話方塊
        
         [環境屬性] 對話方塊
        
        
請參閱 Microsoft 用來說明軟體更新的 術語 。