支援 Amazon RDS for SQL Server 中的 SQL Server Integration Services - Amazon Relational Database Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

支援 Amazon RDS for SQL Server 中的 SQL Server Integration Services

Microsoft SQL Server Integration Services (SSIS) 是您可以用來執行廣泛資料遷移任務的元件。SSIS 是資料整合和工作流程應用程式的平台。它具有用於資料擷取、轉換和加載 (ETL) 的資料倉儲工具。您也可以使用這個工具來自動維護 SQL Server 資料庫和更新多維度 Cube 資料。

SSIS 專案會組織成儲存為 XML .dtsx 檔案的套件。套件可以包含控制流量和資料流程。您可以使用資料流程來表示 ETL 操作。部署後,套件會儲存在 SSISDB 資料庫中的 SQL Server 中。SSISDB 是在完整復原模式下的線上交易處理 (OLTP) 資料庫。

Amazon RDS for SQL Server 會支援直接在 RDS 資料庫執行個體上執行 SSIS。您可以在現有或新的資料庫執行個體上啟用 SSIS。SSIS 會安裝在與資料庫引擎相同的資料庫執行個體上。

下列版本的 RDS 支援 SSIS for SQL Server Standard 和 Enterprise Edition:

  • SQL 伺服器,所有版本

  • SQL Server 2019,15.00.4043.16.v1 版和更新版本

  • SQL Server 2017,14.00.3223.3.v1 版和更新版本

  • SQL Server 2016,13.00.5426.0.v1 版和更新版本

限制與建議

在 RDS for SQL Server 上執行 SSIS 時適用下列限制和建議:

  • 資料庫執行個體必須具有相關的參數群組,且將 clr enabled 參數設定為 1。如需詳細資訊,請參閱 修改 SSIS 的參數

    注意

    如果您在 SQL Server 2017 或 2019 上啟用 clr enabled 參數,就無法在資料庫執行個體上使用通用語言執行階段 (CLR)。如需詳細資訊,請參閱不支援的功能和具備有限支援的功能

  • 支援下列控制流量任務:

    • 分析服務執行 DDL 任務

    • 分析服務處理任務

    • 大量插入任務

    • 檢查資料庫完整性任務

    • 資料流程任務

    • 資料挖掘查詢任務

    • 資料效能分析任務

    • 執行套件任務

    • 執行 SQL Server Agent 任務工作

    • 執行 SQL 任務

    • 執行 T-SQL 陳述式任務

    • 通知運算子任務

    • 重新建立索引任務

    • 重新組織索引任務

    • 壓縮資料庫任務

    • 傳輸資料庫任務

    • 傳送任務工作

    • 傳輸登入任務

    • 傳輸 SQL Server 物件任務

    • 更新統計資料任務

  • 僅支援專案部署。

  • 支援使用 SQL Server Agent 執行 SSIS 套件。

  • SSIS 日誌記錄只能插入使用者建立的資料庫中。

  • 僅使用 D:\S3 資料夾來處理檔案。放在任何其他目錄中的檔案都會被刪除。請注意其他一些檔案位置的詳細資料:

    • 將 SSIS 專案輸入和輸出檔案放在 D:\S3 資料夾。

    • 對於「資料流程任務」,變更 BLOBTempStoragePath 資料夾內 BufferTempStoragePathD:\S3 檔案的位置。檔案路徑必須以 D:\S3\ 為開頭。

    • 確定用於檔案連線的所有參數、變數和運算式都指向該 D:\S3 資料夾。

    • 在異地同步備份執行個體上,由 SSIS 在 D:\S3 資料夾中建立的檔案會在容錯移轉後刪除。如需更多詳細資訊,請參閱 S3 整合的多可用區域限制

    • 由 SSIS 在 D:\S3 資料夾中建立的檔案會上傳到您的 Amazon S3 儲存貯體,使其變得耐用。

  • 不支援「匯入欄」和「匯出欄」轉換,以及「資料流程任務」上的「指令碼」元件。

  • 您無法在執行中 SSIS 套件上啟用傾印,也無法在 SSIS 套件上新增資料點選。

  • 不支援 SSIS 向外擴展功能。

  • 您無法直接部署專案。我們提供 RDS 儲存過程來做到這一點。如需更多詳細資訊,請參閱 部署 SSIS 專案

  • 使用 DoNotSavePasswords 保護模式來建立要在 RDS 上部署的 SSIS 專案 (.ispac) 檔案。

  • SSIS 不支援有讀取複本的 Always On 執行個體。

  • 您無法備份與 SSIS 選項相關聯的 SSISDB 資料庫。

  • 不支援從 SSIS 的其他執行個體匯入和還原 SSISDB 資料庫。

  • 您可以連線至其他 SQL Server 資料庫執行個體或 Oracle 資料來源。RDS for SQL Server 上的 SSIS 不支援連線到其他資料庫引擎,例如 MySQL 或 PostgreSQL。如需連線至 Oracle 資料來源的詳細資訊,請參閱 連結的伺服器搭配 Oracle OLEDB

啟用 SSIS

您可以透過將 SSIS 選項新增至資料庫執行個體來啟用 SSIS。請使用下列程序:

  1. 建立新的選項群組或選擇現有的選項群組。

  2. SSIS 選項新增至選項群組。

  3. 建立新參數群組,或選擇現有參數群組。

  4. 修改參數群組,將 clr enabled 參數設定為 1。

  5. 將選項群組和參數群組與資料庫執行個體建立關聯。

  6. 啟用 Amazon S3 整合。

注意

如果資料庫執行個體上已存在名稱為 SSISDB 或預留 SSIS 登入的資料庫,則無法在執行個體上啟用 SSIS。

建立 SSIS 的選項群組

若要使用 SSIS,請建立選項群組,或修改對應至 SQL Server 版本和您計劃使用的資料庫執行個體版本的選項群組。若要執行此操作,請使用AWS Management Console或 AWS CLI。

下列程序會建立 SQL Server Standard Edition 2016 的選項群組。

建立選項群組
  1. 登入 AWS Management Console,開啟位於 https://console.aws.amazon.com/rds/ 的 Amazon RDS 主控台。

  2. 在導覽窗格中,選擇 Option groups (選項群組)。

  3. 選擇 Create group (建立群組)。

  4. Create option group (建立選項群組) 視窗中,執行下列動作:

    1. Name (名稱) 中,輸入您 AWS 帳戶中的唯一選項群組名稱,例如 ssis-se-2016。名稱僅可包含字母、數字與連字號。

    2. 對於 Description (描述),請輸入選項群組的簡短描述,例如 SSIS option group for SQL Server SE 2016。用於顯示用途的說明。

    3. 對於 Engine (引擎),請選擇 sqlserver-se

    4. 對於 Major engine version (主要引擎版本),請選擇 13.00

  5. 選擇 Create (建立)。

下列程序會建立 SQL Server Standard Edition 2016 的選項群組。

建立選項群組
  • 請執行下列其中一個命令:

    對於LinuxmacOS、或Unix:

    aws rds create-option-group \ --option-group-name ssis-se-2016 \ --engine-name sqlserver-se \ --major-engine-version 13.00 \ --option-group-description "SSIS option group for SQL Server SE 2016"

    在Windows中:

    aws rds create-option-group ^ --option-group-name ssis-se-2016 ^ --engine-name sqlserver-se ^ --major-engine-version 13.00 ^ --option-group-description "SSIS option group for SQL Server SE 2016"

將 SSIS 選項新增至選項群組

接下來,使用AWS Management Console或 AWS CLI 將 SSIS 選項新增至選項群組。

新增 SSIS 選項
  1. 登入 AWS Management Console,開啟位於 https://console.aws.amazon.com/rds/ 的 Amazon RDS 主控台。

  2. 在導覽窗格中,選擇 Option groups (選項群組)。

  3. 選擇您剛剛建立的選項群組,在這個例子中為 ssis-se-2016

  4. 選擇 Add option (新增選項)

  5. Option details (選項詳細資料) 下,選擇 SSIS 做為 Option name (選項名稱)

  6. Scheduling (排程) 下,選擇要立即新增選項或是在下一個維護時段新增選項。

  7. 選擇 Add option (新增選項)

新增 SSIS 選項
  • SSIS 選項新增至選項群組。

    對於LinuxmacOS、或Unix:

    aws rds add-option-to-option-group \ --option-group-name ssis-se-2016 \ --options OptionName=SSIS \ --apply-immediately

    在Windows中:

    aws rds add-option-to-option-group ^ --option-group-name ssis-se-2016 ^ --options OptionName=SSIS ^ --apply-immediately

建立 SSIS 的參數群組

為對應到 SQL Server 版本和您計畫用於 SSIS 的資料庫執行個體版本的 clr enabled 參數來建立或修改參數群組。

下列範例會建立 SQL Server Standard Edition 2016 的參數群組。

建立參數群組
  1. 登入 AWS Management Console,開啟位於 https://console.aws.amazon.com/rds/ 的 Amazon RDS 主控台。

  2. 在導覽窗格中,選擇 Parameter groups (參數群組)。

  3. 選擇 Create parameter group (建立參數群組)

  4. Create parameter group (建立參數群組) 窗格中執行下列動作:

    1. 對於 Parameter group family (參數群組家族),請選擇 sqlserver-se-13.0

    2. 對於 Group name (群組名稱),輸入參數群組的識別碼,例如 ssis-sqlserver-se-13

    3. 對於 Description (說明),輸入 clr enabled parameter group

  5. 選擇 Create (建立)。

下列範例會建立 SQL Server Standard Edition 2016 的參數群組。

建立參數群組
  • 請執行下列其中一個命令:

    對於LinuxmacOS、或Unix:

    aws rds create-db-parameter-group \ --db-parameter-group-name ssis-sqlserver-se-13 \ --db-parameter-group-family "sqlserver-se-13.0" \ --description "clr enabled parameter group"

    在Windows中:

    aws rds create-db-parameter-group ^ --db-parameter-group-name ssis-sqlserver-se-13 ^ --db-parameter-group-family "sqlserver-se-13.0" ^ --description "clr enabled parameter group"

修改 SSIS 的參數

修改參數群組中對應至 SQL Server 版本和資料庫執行個體版本的 clr enabled 參數。若為 SSIS,請將 clr enabled 參數設定為 1。

下列範例會修改您為 SQL Server Standard Edition 2016 建立的參數群組。

修改參數群組
  1. 登入 AWS Management Console,開啟位於 https://console.aws.amazon.com/rds/ 的 Amazon RDS 主控台。

  2. 在導覽窗格中,選擇 Parameter groups (參數群組)。

  3. 選擇參數群組,例如 ssis-sqlserver-se-13

  4. Parameters (參數) 下,篩選 clr 的參數清單。

  5. 選擇 clr enabled (clr 已啟用)

  6. 選擇 Edit parameters (編輯參數)。

  7. Values (值) 中選擇 1

  8. 選擇儲存變更

下列範例會修改您為 SQL Server Standard Edition 2016 建立的參數群組。

修改參數群組
  • 請執行下列其中一個命令:

    對於LinuxmacOS、或Unix:

    aws rds modify-db-parameter-group \ --db-parameter-group-name ssis-sqlserver-se-13 \ --parameters "ParameterName='clr enabled',ParameterValue=1,ApplyMethod=immediate"

    在Windows中:

    aws rds modify-db-parameter-group ^ --db-parameter-group-name ssis-sqlserver-se-13 ^ --parameters "ParameterName='clr enabled',ParameterValue=1,ApplyMethod=immediate"

將選項群組和參數群組與資料庫執行個體建立關聯

若要將 SSIS 選項群組和參數群組與資料庫執行個體建立關聯,請使用 AWS Management Console 或 AWS CLI

注意

如果您使用現有執行個體,則該執行個體必須已有與其相關聯的 Active Directory 網域和 AWS Identity and Access Management (IAM) 角色。如果您建立新執行個體,請指定現有的 Active Directory 網域和 IAM 角色。如需詳細資訊,請參閱使用 Active Directory 搭配 RDS for SQL Server

若要完成啟用 SSIS,請將 SSIS 選項群組和參數群組與新的或現有的資料庫執行個體建立關聯:

您可以將 SSIS 選項群組和參數群組與新的或現有的資料庫執行個體產生關聯。

使用 SSIS 選項群組和參數群組建立執行個體
  • 指定建立選項群組時所使用的相同資料庫引擎類型和主要版本。

    對於LinuxmacOS、或Unix:

    aws rds create-db-instance \ --db-instance-identifier myssisinstance \ --db-instance-class db.m5.2xlarge \ --engine sqlserver-se \ --engine-version 13.00.5426.0.v1 \ --allocated-storage 100 \ --manage-master-user-password \ --master-username admin \ --storage-type gp2 \ --license-model li \ --domain-iam-role-name my-directory-iam-role \ --domain my-domain-id \ --option-group-name ssis-se-2016 \ --db-parameter-group-name ssis-sqlserver-se-13

    在Windows中:

    aws rds create-db-instance ^ --db-instance-identifier myssisinstance ^ --db-instance-class db.m5.2xlarge ^ --engine sqlserver-se ^ --engine-version 13.00.5426.0.v1 ^ --allocated-storage 100 ^ --manage-master-user-password ^ --master-username admin ^ --storage-type gp2 ^ --license-model li ^ --domain-iam-role-name my-directory-iam-role ^ --domain my-domain-id ^ --option-group-name ssis-se-2016 ^ --db-parameter-group-name ssis-sqlserver-se-13
修改執行個體並建立 SSIS 選項群組和參數群組的關聯
  • 請執行下列其中一個命令:

    對於LinuxmacOS、或Unix:

    aws rds modify-db-instance \ --db-instance-identifier myssisinstance \ --option-group-name ssis-se-2016 \ --db-parameter-group-name ssis-sqlserver-se-13 \ --apply-immediately

    在Windows中:

    aws rds modify-db-instance ^ --db-instance-identifier myssisinstance ^ --option-group-name ssis-se-2016 ^ --db-parameter-group-name ssis-sqlserver-se-13 ^ --apply-immediately

啟用 S3 整合

若要將 SSIS 專案 (.ispac) 檔案下載到主機以進行部署,請使用 S3 檔案整合。如需詳細資訊,請參閱整合 Amazon RDS for SQL Server 資料庫執行個體和 Amazon S3

SSISDB 上的管理許可

使用 SSIS 選項建立或修改執行個體時,結果會是 SSISDB 資料庫,其中包含 ssis_admin 和 ssis_logreader 角色授予主要使用者。主要使用者在 SSISDB 中具有下列權限:

  • alter on ssis_admin role

  • alter on ssis_logreader role

  • 變更任何使用者

因為主要使用者是 SQL 驗證的使用者,所以您無法使用主要使用者來執行 SSIS 套件。主要使用者可以使用這些權限來建立新的 SSISDB 使用者,並將它們新增至 ssis_admin 和 ssis_logreader 角色。這樣做對於授予網域使用者使用 SSIS 的存取權非常有用。

為 SSIS 設定 Windows 驗證的使用者

主要使用者可以使用下列程式碼範例,在 SSISDB 中設定 Windows 驗證的登入,並授予必要的程序許可。這樣做會授予網域使用者部署和執行 SSIS 套件、使用 S3 檔案傳輸程序、建立登入資料,以及搭配 SQL Server Agent 代理使用的許可。如需詳細資訊,請參閱登入資料 (資料庫引擎) 和 Microsoft 文件中的建立 SQL Server 代理程式 Proxy

注意

您可以視需要授予部分或全部下列許可給 Windows 驗證的使用者。

-- Create a server-level SQL login for the domain user, if it doesn't already exist USE [master] GO CREATE LOGIN [mydomain\user_name] FROM WINDOWS GO -- Create a database-level account for the domain user, if it doesn't already exist USE [SSISDB] GO CREATE USER [mydomain\user_name] FOR LOGIN [mydomain\user_name] -- Add SSIS role membership to the domain user ALTER ROLE [ssis_admin] ADD MEMBER [mydomain\user_name] ALTER ROLE [ssis_logreader] ADD MEMBER [mydomain\user_name] GO -- Add MSDB role membership to the domain user USE [msdb] GO CREATE USER [mydomain\user_name] FOR LOGIN [mydomain\user_name] -- Grant MSDB stored procedure privileges to the domain user GRANT EXEC ON msdb.dbo.rds_msbi_task TO [mydomain\user_name] with grant option GRANT SELECT ON msdb.dbo.rds_fn_task_status TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_task_status TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_cancel_task TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_download_from_s3 TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_upload_to_s3 TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_delete_from_filesystem TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_gather_file_details TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_add_proxy TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_update_proxy TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_grant_login_to_proxy TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_revoke_login_from_proxy TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_delete_proxy TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_enum_login_for_proxy to [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_enum_proxy_for_subsystem TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_sqlagent_proxy TO [mydomain\user_name] WITH GRANT OPTION -- Add the SQLAgentUserRole privilege to the domain user USE [msdb] GO ALTER ROLE [SQLAgentUserRole] ADD MEMBER [mydomain\user_name] GO -- Grant the ALTER ANY CREDENTIAL privilege to the domain user USE [master] GO GRANT ALTER ANY CREDENTIAL TO [mydomain\user_name] GO

部署 SSIS 專案

在 RDS 上,您無法使用 SQL Server Management Studio (SSMS) 或 SSIS 程序直接部署 SSIS 專案。若要從 Amazon S3 中下載專案檔案,然後進行部署,請使用 RDS 儲存的程序。

若要執行預存程序,請以您授予預存程序執行許可的任何其他使用者身分登入。如需更多詳細資訊,請參閱 為 SSIS 設定 Windows 驗證的使用者

部署 SSIS 專案
  1. 下載專案 (.ispac) 檔案。

    exec msdb.dbo.rds_download_from_s3 @s3_arn_of_file='arn:aws:s3:::bucket_name/ssisproject.ispac', [@rds_file_path='D:\S3\ssisproject.ispac'], [@overwrite_file=1];
  2. 提交部署任務,確定下列項目:

    • 該資料夾存在於 SSIS 目錄中。

    • 專案名稱與您在開發 SSIS 專案時使用的專案名稱相符。

    exec msdb.dbo.rds_msbi_task @task_type='SSIS_DEPLOY_PROJECT', @folder_name='DEMO', @project_name='ssisproject', @file_path='D:\S3\ssisproject.ispac';

監視部署任務的狀態

若要追蹤部署 (或下載) 任務的狀態,請呼叫 rds_fn_task_status 函數。需要兩個參數。第一個參數不適用於 SSIS,所以應該一律為 NULL。第二個參數接受任務 ID。

若要查看所有任務的清單,請將第一個參數設為 NULL,將第二個參數設為 0,如下列範例所示。

SELECT * FROM msdb.dbo.rds_fn_task_status(NULL,0);

若要取得特定的任務,請將第一個參數設為 NULL,將第二個參數設為任務 ID,如下列範例所示。

SELECT * FROM msdb.dbo.rds_fn_task_status(NULL,42);

rds_fn_task_status 函數會傳回下列資訊。

輸出參數

描述

task_id

任務的 ID。

task_type

SSIS_DEPLOY_PROJECT

database_name

不適用於 SSIS 任務。

% complete

任務的進度 (以百分比表示)。

duration (mins)

任務所花的時間 (以分鐘為單位)。

lifecycle

任務的狀態。可能的狀態如下:

  • CREATED – 呼叫 msdb.dbo.rds_msbi_task 儲存的程序之後,系統就會建立任務,且狀態會設定為 CREATED

  • IN_PROGRESS – 任務開始之後,狀態會設為 IN_PROGRESS。可能需要經過 5 分鐘,狀態才會從 CREATED 變成 IN_PROGRESS

  • SUCCESS – 任務完成之後,狀態會設為 SUCCESS

  • ERROR – 如果任務失敗,狀態會設為 ERROR。關於錯誤的詳細資訊,請查看 task_info 欄。

  • CANCEL_REQUESTED – 呼叫 rds_cancel_task 之後,任務的狀態會設為 CANCEL_REQUESTED

  • CANCELLED – 成功取消任務之後,任務的狀態會設為 CANCELLED

task_info

任務的其他資訊。如果處理期間發生錯誤,此欄包含該錯誤的相關資訊。

last_updated

上次更新任務狀態的日期和時間。

created_at

建立任務的日期和時間。

S3_object_arn

不適用於 SSIS 任務。

overwrite_S3_backup_file

不適用於 SSIS 任務。

KMS_master_key_arn

不適用於 SSIS 任務。

filepath

不適用於 SSIS 任務。

overwrite_file

不適用於 SSIS 任務。

task_metadata

與 SSIS 任務相關聯的中繼資料。

使用 SSIS

將 SSIS 專案部署到 SSIS 目錄之後,您可以直接從 SSMS 執行套件,或使用 SQL Server 代理程式來加以排程。您必須使用 Windows 驗證的登入來執行 SSIS 套件。如需更多詳細資訊,請參閱 為 SSIS 設定 Windows 驗證的使用者

設定 SSIS 專案的資料庫連線管理員

當您使用連線管理員時,您可以使用下列類型的驗證:

  • 對於使用 AWS 受管 Active Directory 的本機資料庫連線,您可以使用 SQL 驗證或 Windows 驗證。對於 Windows 驗證,請用 DB_instance_name.fully_qualified_domain_name 作連線字串的伺服器名稱。

    例如 myssisinstance.corp-ad.example.com,其中 myssisinstance 是資料庫執行個體名稱,而且 corp-ad.example.com 是完整網域名稱。

  • 對於遠端連線,請一律使用 SQL 驗證。

  • 對於使用自我管理 Active Directory 的本機資料庫連線,您可以使用 SQL 驗證或 Windows 驗證。對於 Windows 驗證,請使用 .LocalHost 作為連線字串的伺服器名稱。

建立 SSIS 代理

若要能夠使用 SQL Server 代理程式排程 SSIS 套件,請建立 SSIS 登入資料和 SSIS 代理。以 Windows 驗證的使用者身分執行這些程序。

建立 SSIS 登入資料
  • 建立代理的登入資料。若要執行這項操作,您可以使用 SSMS 或下列 SQL 陳述式。

    USE [master] GO CREATE CREDENTIAL [SSIS_Credential] WITH IDENTITY = N'mydomain\user_name', SECRET = N'mysecret' GO
    注意

    IDENTITY 必須是網域驗證的登入。以網域驗證登入的密碼取代 mysecret

    每當 SSISDB 主要主機變更時,更改 SSIS 代理登入資料,以允許新的主機來存取它們。

建立 SSIS 代理
  1. 使用下面的 SQL 陳述式來建立代理。

    USE [msdb] GO EXEC msdb.dbo.sp_add_proxy @proxy_name=N'SSIS_Proxy',@credential_name=N'SSIS_Credential',@description=N'' GO
  2. 使用下列 SQL 陳述式可將代理伺服器的存取權授予其他使用者。

    USE [msdb] GO EXEC msdb.dbo.sp_grant_login_to_proxy @proxy_name=N'SSIS_Proxy',@login_name=N'mydomain\user_name' GO
  3. 使用下列 SQL 陳述式來提供 SSIS 子系統存取代理。

    USE [msdb] GO EXEC msdb.dbo.rds_sqlagent_proxy @task_type='GRANT_SUBSYSTEM_ACCESS',@proxy_name='SSIS_Proxy',@proxy_subsystem='SSIS' GO
在代理上檢視代理和授權
  1. 使用下列 SQL 陳述式來檢視代理的承授者。

    USE [msdb] GO EXEC sp_help_proxy GO
  2. 使用下列 SQL 陳述式來檢視子系統授予。

    USE [msdb] GO EXEC msdb.dbo.sp_enum_proxy_for_subsystem GO

使用 SQL Server 代理程式排程 SSIS 套件

建立登入資料和代理,並授予 SSIS 存取權至代理之後,您可以建立 SQL Server Agent 任務來排程 SSIS 套件。

排程 SSIS 套件
  • 您可以使用 SSMS 或 T-SQL 來建立 SQL Server Agent 任務。下列範例使用 T-SQL。

    USE [msdb] GO DECLARE @jobId BINARY(16) EXEC msdb.dbo.sp_add_job @job_name=N'MYSSISJob', @enabled=1, @notify_level_eventlog=0, @notify_level_email=2, @notify_level_page=2, @delete_level=0, @category_name=N'[Uncategorized (Local)]', @job_id = @jobId OUTPUT GO EXEC msdb.dbo.sp_add_jobserver @job_name=N'MYSSISJob',@server_name=N'(local)' GO EXEC msdb.dbo.sp_add_jobstep @job_name=N'MYSSISJob',@step_name=N'ExecuteSSISPackage', @step_id=1, @cmdexec_success_code=0, @on_success_action=1, @on_fail_action=2, @retry_attempts=0, @retry_interval=0, @os_run_priority=0, @subsystem=N'SSIS', @command=N'/ISSERVER "\"\SSISDB\MySSISFolder\MySSISProject\MySSISPackage.dtsx\"" /SERVER "\"my-rds-ssis-instance.corp-ad.company.com/\"" /Par "\"$ServerOption::LOGGING_LEVEL(Int16)\"";1 /Par "\"$ServerOption::SYNCHRONIZED(Boolean)\"";True /CALLERINFO SQLAGENT /REPORTING E', @database_name=N'master', @flags=0, @proxy_name=N'SSIS_Proxy' GO

從代理撤銷 SSIS 存取權

您可以撤銷 SSIS 子系統的存取權,並使用下列儲存的程序刪除 SSIS 代理。

撤銷存取權並刪除代理伺服器
  1. 撤銷子系統存取權。

    USE [msdb] GO EXEC msdb.dbo.rds_sqlagent_proxy @task_type='REVOKE_SUBSYSTEM_ACCESS',@proxy_name='SSIS_Proxy',@proxy_subsystem='SSIS' GO
  2. 撤銷代理上的授權。

    USE [msdb] GO EXEC msdb.dbo.sp_revoke_login_from_proxy @proxy_name=N'SSIS_Proxy',@name=N'mydomain\user_name' GO
  3. 刪除代理。

    USE [msdb] GO EXEC dbo.sp_delete_proxy @proxy_name = N'SSIS_Proxy' GO

停用 SSIS

若要停用 SSIS,請將 SSIS 選項從其選項群組中移除。

重要

移除選項並不會刪除 SSISDB 資料庫,因此您可以安全地移除選項,而不會遺失 SSIS 專案。

您可以在移除之後重新啟用此 SSIS 選項,以重複使用先前部署至 SSIS 目錄的 SSIS 專案。

下列程序會移除 SSIS 選項。

從選項群組中移除 SSIS 選項
  1. 登入 AWS Management Console,開啟位於 https://console.aws.amazon.com/rds/ 的 Amazon RDS 主控台。

  2. 在導覽窗格中,選擇 Option groups (選項群組)。

  3. 選擇具有 SSIS 選項的選項群組 (上述範例中的 ssis-se-2016)。

  4. 選擇 Delete option (刪除選項)

  5. Deletion options (刪除選項) 下,為 Options to delete (要刪除的選項) 選擇 SSIS

  6. Apply immediately (立即套用) 下,選擇 Yes (是) 立即刪除選項,或選擇 No (否) 在下一個維護時段將其刪除。

  7. 選擇刪除

下列程序會移除 SSIS 選項。

從選項群組中移除 SSIS 選項
  • 請執行下列其中一個命令:

    對於LinuxmacOS、或Unix:

    aws rds remove-option-from-option-group \ --option-group-name ssis-se-2016 \ --options SSIS \ --apply-immediately

    在Windows中:

    aws rds remove-option-from-option-group ^ --option-group-name ssis-se-2016 ^ --options SSIS ^ --apply-immediately

卸除 SSISDB 資料庫

移除 SSIS 選項之後,系統不會刪除 SSISDB 資料庫。若要卸除 SSISDB 資料庫,請在移除 SSIS 選項之後使用 rds_drop_ssis_database 儲存的程序。

卸除 SSIS 資料庫
  • 請使用下列預存程序。

    USE [msdb] GO EXEC dbo.rds_drop_ssis_database GO

卸除 SSISDB 資料庫後,如果您重新啟用 SSIS 選項,您會得到一個新的 SSISDB 目錄。