使用 Integration Services 角色

SQL ServerIntegration Services 包含以下三個固定資料庫層級角色:db_ssisadmin、db_ssisltduser 和 db_ssisoperator,可用於控制封裝的存取權。只能在儲存到 SQL Server 中 msdb 資料庫的封裝上實作角色。您可以使用 SQL Server Management Studio 將角色指派給封裝。角色指派會儲存到 msdb 資料庫。

下表描述 Integration Services 中 Windows 及固定資料庫層級角色的讀取和寫入動作。

角色

讀取動作

寫入動作

db_ssisadmin

系統管理員 (sysadmin)

列舉自己的封裝。

列舉所有封裝。

檢視自己的封裝。

檢視所有封裝。

執行自己的封裝。

執行所有封裝。

匯出自己的封裝。

匯出所有封裝。

執行 SQL Server Agent 中的所有封裝。

匯入封裝。

刪除自己的封裝。

刪除所有封裝。

變更自己的封裝角色。

變更所有封裝角色。

重要注意事項重要事項
db_ssisadmin 角色和 dc_admin 角色的成員可以將其權限提高為 sysadmin。之所以能夠進行此權限提高,是因為這些角色可以修改 Integration Services 封裝,而且 Integration Services 可藉由使用 SQL Server Agent 的 sysadmin 安全性內容由 SQL Server 執行。若要在執行維護計畫、資料收集組和其他 Integration Services 封裝時預防此權限提高,請將執行封裝的 SQL Server Agent 作業設為使用有限權限的 Proxy 帳戶,或是只將 sysadmin 成員加入 db_ssisadmin 和 dc_admin 角色。

db_ssisltduser

列舉自己的封裝。

列舉所有封裝。

檢視自己的封裝。

執行自己的封裝。

匯出自己的封裝。

匯入封裝。

刪除自己的封裝。

變更自己的封裝角色。

db_ssisoperator

列舉所有封裝。

檢視所有封裝。

執行所有封裝。

匯出所有封裝。

執行 SQL Server Agent 中的所有封裝。

Windows administrators

檢視所有正在執行之封裝的執行詳細資料。

停止所有目前正在執行的封裝。

msdb 中的 sysssispackages 資料表包含儲存到 SQL Server 的封裝。如需詳細資訊,請參閱<sysssispackages (Transact-SQL)>。

sysssispackages 資料表包括的資料行包含指派給封裝之角色的相關資訊。

  • readerrole 資料行會指定擁有封裝之讀取權限的角色。

  • writerrole 資料行會指定擁有封裝之寫入權限的角色。

  • ownersid 資料行包含建立封裝之使用者的唯一安全性識別碼。此資料行會定義封裝的擁有者。

依預設,db_ssisadmin 和 db_ssisoperator 固定資料庫層級角色的權限以及建立封裝之使用者的唯一安全性識別碼會套用至封裝的讀取者角色,而 db_ssisadmin 角色的權限以及建立封裝之使用者的唯一安全性識別碼則會套用至封裝的寫入者角色。使用者必須是 db_ssisadmin、db_ssisltduser 或 db_ssisoperator 角色的成員,才能擁有封裝的讀取權限。使用者必須是 db_ssisadmin 角色的成員,才能擁有寫入權限。

固定資料庫層級角色要與使用者定義角色搭配使用。使用者定義角色是您在 SQL Server Management Studio 中建立後用以指派權限給封裝的角色。若要存取封裝,使用者必須是使用者定義角色和適當 Integration Services 固定資料庫層級角色的成員。例如,如果使用者是指派給封裝之 AuditUsers 使用者定義角色的成員,他們還必須是 db_ssisadmin、db_ssisltduser 或 db_ssisoperator 角色的成員,才能擁有封裝的讀取權限。

如果您沒有指派使用者定義角色給封裝,則對封裝的存取是由固定的資料庫層級角色決定的。

如果想要使用使用者定義角色,則必須先將這些角色加入 msdb 資料庫,然後才能將它們指派給封裝。您可以在 SQL Server Management Studio 中建立新資料庫角色。

Integration Services 資料庫層級角色會授與 msdb 資料庫中 Integration Services 系統資料表的權限,但不是 DTS 系統資料表的權限 (例如 msdb 資料庫中的 sysdtspackages)。當使用者可以執行某些管理工作 (例如在 Management Studio 中匯入 DTS 封裝) 以前,您必須授與這些使用者對於 DTS 系統資料表的權限。如需有關 DTS 支援的詳細資訊,請參閱 SQL Server 2008 中的 Data Transformation Services (DTS) 支援。

步驟 1:開啟物件總管並連接到 Integration Services

必須先在 SQL Server Management Studio 中開啟 [物件總管],並連接到 Integration Services,才能使用 SQL Server Management Studio 指派角色給封裝。

必須先啟動 Integration Services 服務,才能連接到 Integration Services。

開啟物件總管並連接到 Integration Services

  1. 開啟 SQL Server Management Studio。

  2. [檢視] 功能表上,按一下 [物件總管]

  3. 在 [物件總管] 工具列上,按一下 [連接],然後按一下 [Integration Services]

  4. [連接到伺服器] 對話方塊中,提供伺服器名稱。您可以使用句號 (.)、(local) 或 localhost 表示本機伺服器。

  5. 按一下 [連接]

步驟 2:指派讀取器和寫入器角色給封裝

您可將讀取器和寫入器角色指派給每個封裝。

指派讀取器和寫入器角色給封裝

  1. 在 [物件總管] 中,尋找 Integration Services 連接。

  2. 展開 [Stored Packages] 資料夾,然後展開包含想要為其指派角色之封裝的子資料夾。

  3. 以滑鼠右鍵按一下想要為其指派角色的封裝。

  4. [封裝角色] 對話方塊中,選取 [讀取器角色] 清單中的讀取器角色和 [寫入器角色] 清單中的寫入器角色。

  5. 按一下 [確定]

建立使用者定義角色

在可以連接到 Database Engine 並存取 msdb 資料庫之前,必須先啟動 SQL Server (MSSQLSERVER 服務)。

建立使用者定義角色

  1. 開啟 SQL Server Management Studio。

  2. [檢視] 功能表上,按一下 [物件總管]

  3. 在 [物件總管] 工具列上,按一下 [連接],再按一下 [Database Engine]

  4. [連接到伺服器] 對話方塊中,提供伺服器名稱並選取驗證模式。您可以使用句號 (.)、(local) 或 localhost 表示本機伺服器。

  5. 按一下 [連接]

  6. 展開 [資料庫]、[系統資料庫]、[msdb]、[安全性] 和 [角色]。

  7. 在 [角色] 節點中,以滑鼠右鍵按一下 [資料庫角色],並按一下 [新增資料庫角色]

  8. 在 [一般] 頁面上提供名稱,選擇性地指定擁有者和擁有的結構描述,並加入角色成員。

  9. 選擇性地按一下 [權限],並設定物件權限。

  10. 選擇性地按一下 [擴充屬性],並設定任何擴充屬性。

  11. 按一下 [確定]

Integration Services 圖示 (小) 掌握 Integration Services 的最新狀態

若要取得 Microsoft 的最新下載、文件、範例和影片以及社群中的選定解決方案,請瀏覽 MSDN 或 TechNet 上的 Integration Services 頁面:

若要得到這些更新的自動通知,請訂閱該頁面上所提供的 RSS 摘要。