狀況
請考慮下列情況:
-
您是在 Microsoft SQL Server 2012年或 SQL Server 2014年執行整合服務類別目錄 」 和 「 SSISDB 類別目錄的執行個體。
-
授予權限給 Windows 群組的成員,以存取 SSIS 類別目錄資料夾、 專案或環境安全項目。
注意您可以下列方式來授與權限︰-
您使用 Management Studio。若要執行這項操作、 整合服務類別目錄中的物件上按一下滑鼠右鍵、 選取 [屬性],然後,在 [權限] 頁面中,瀏覽到群組中,新增的群組,然後選取該群組的權限。
-
您呼叫下列的預存程序︰
[SSISDB].[catalog].[grant_permission]
-
-
是的 Windows 群組成員的 Windows 使用者嘗試檢視,及整合服務類別目錄中的 SSISDB 資料庫中執行的封裝,利用 Management Studio 或預存程序中。
在這個案例中,使用者無法看到他們所授予的權限的套件和無法驗證或執行這些封裝。
原因
之所以發生這個問題,是因為 SSISDB 內部檢視中的問題。這可避免使用者預期的有效權限時使用 Windows 群組成員資格授予權限。
解決方案
下列的累積更新 SQL Server 的第一次修正問題。
SQL Server 2014年累積更新 1/en-us/help/2931693
SQL Server 2012 sp1 的累積更新 7/en-us/help/2894115
SQL Server 的每個新的累積更新包含的所有修補程序與安全性修正,全都包含在先前的累積更新。检验 SQL Server 的最新的累積更新︰
因應措施
若要解決這個問題,請勿使用各種使用者的 Windows 的群組存取安全 SSIS。相反地,用於 SQL Server 中的使用者定義的資料庫角色,來封裝所需的 Windows 使用者清單,然後指派給該資料庫角色的權限。
若要執行這項操作,請參考下列步驟:
-
建立所需的 Windows 登入 SQL Server 的執行個體,然後將使用者存取 SSISDB 資料庫。例如,您可以使用 Management Studio 藉由將安全性,按一下 [登入,然後按一下 [新增登入。或者,您可以使用下列的指令碼的每個 Windows 使用者登入︰
使用母片
GO
建立登入網域\使用者名稱WINDOWS 與 DEFAULT_DATABASE =母片
GO
使用SSISDB
GO
建立使用者的網域\使用者名稱登入的網域\使用者名稱
GO -
在 SSISDB 資料庫中,建立使用者定義的資料庫角色中,例如ssis_users。例如,您可以使用 Management Studio 藉由移至資料庫、 [ SSISDB、安全性、角色、 按一下 [資料庫角色,及再按 [新的資料庫角色。或者,您可以使用下列的指令碼︰
使用SSISDB
GO
建立角色ssis_users
GO -
在 SSISDB 中想要的使用者加入角色ssis_users。例如,您可以使用 Management Studio 移至資料庫、 按一下SSISDB、安全性、 按一下角色,按一下 [資料庫角色、 [角色成員,,然後按一下 [新增。或者,您可以使用下列的指令碼︰
使用SSISDB
GO
變更角色ssis_users新增成員網域\使用者名稱
GO -
整合服務類別目錄中可設定保護的物件上按一下滑鼠右鍵,按一下 [內容]、 按一下 [加入權限的資料庫角色的權限] 頁面中的 [瀏覽,然後選取授與或拒絕所需的明確權限,如下所示︰
注意這些權限可能不足以成功地執行 SSIS 封裝。每個 SSIS 封裝是自訂的設計,而且可能會有額外的特定需求,若要存取特定的伺服器和資料庫或共用資料夾,驗證或成功執行 SSIS 封裝。
狀態
Microsoft 已確認這是<套用>一節所列出的 Microsoft 產品的問題。
參考
如需詳細資訊,請參閱 Microsoft 開發人員網路 (MSDN) 網站上的下列主題︰
SSIS 型錄
資料夾 [內容] 對話方塊
專案 [屬性] 對話方塊
環境屬性] 對話方塊
請參閱 Microsoft 會使用來描述軟體更新術語。