支持 Amazon RDS for SQL Server 中的 SQL Server Integration Services
Microsoft SQL Server Integration Services (SSIS) 是一个组件,可用于执行一系列广泛的数据迁移任务。SSIS 是一个用于数据集成和工作流应用程序的平台。它具有用于数据提取、转换和加载 (ETL) 的数据仓库工具。您还可以使用此工具自动维护 SQL Server 数据库以及对多维数据集数据的更新。
SSIS 项目将整理到另存为基于 XML 的 .dtsx 文件的包中。包可以包含控制流和数据流。您可以使用数据流来表示 ETL 操作。部署后,包存储在 SQL Server 中的 SSISDB 数据库中。SSISDB 是处于完全恢复模式的联机事务处理 (OLTP) 数据库。
Amazon RDS for SQL Server 支持直接在 RDS 数据库实例上运行 SSIS。您可以在现有的或新的数据库实例上启用 SSIS。SSIS 安装在与您的数据库引擎相同的数据库实例上。
RDS 在以下版本上对于 SQL Server 标准版和企业版支持 SSIS:
-
SQL Server 2022,所有版本
-
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
和BufferTempStoragePath
的位置更改为D:\S3
文件夹中的文件。文件路径必须以D:\S3\
开头。 -
确保用于文件连接的所有参数、变量和表达式都指向
D:\S3
文件夹。 -
在多可用区实例上,SSIS 在
D:\S3
文件夹中创建的文件将在故障转移后被删除。有关更多信息,请参阅“S3 集成的多可用区限制”。 -
将 SSIS 在
D:\S3
文件夹中创建的文件上传到您的 Amazon S3 存储桶以使其持久存在。
-
-
不支持导入列和导出列转换以及数据流任务上的脚本组件。
-
无法对正在运行的 SSIS 程序包启用转储,也无法在 SSIS 程序包上添加数据分接头。
-
不支持 SSIS 扩展功能。
-
您不能直接部署项目。我们提供 RDS 存储过程来执行此操作。有关更多信息,请参阅“部署 SSIS 项目”。
-
使用
DoNotSavePasswords
保护模式构建 SSIS 项目 (.ispac) 文件以便在 RDS 上进行部署。 -
具有只读副本的“始终打开”实例不支持 SSIS。
-
您无法备份与
SSIS
选项关联的 SSISDB 数据库。 -
不支持从 SSIS 的其他实例导入和还原 SSISDB 数据库。
-
您可以连接到其他 SQL Server 数据库实例或 Oracle 数据来源。RDS for SQL Server 上的 SSIS 不支持连接到其他数据库引擎(例如 MySQL 或 PostgreSQL)。有关连接到 Oracle 数据来源的更多信息,请参阅 带有 Oracle OLEDB 的链接服务器。
启用 SSIS
您可以通过向数据库实例添加 SSIS 选项来启用 SSIS。使用以下过程:
-
创建新的选项组或选择现有的选项组。
-
将
SSIS
选项添加到该选项组。 -
创建新的参数组,或选择现有参数组。
-
修改参数组以将
clr enabled
参数设置为 1。 -
将选项组和参数组与数据库实例关联。
-
启用 Amazon S3 集成。
注意
如果数据库实例上已存在带有名称 SSISDB 或预留的 SSIS 登录名的数据库,则无法在实例上启用 SSIS。
为 SSIS 创建选项组
要使用 SSIS,请创建或修改与您计划使用的 SQL Server 版本和数据库实例版本对应的选项组。为此,请使用 Amazon Web Services Management Console或 Amazon CLI。
以下控制台过程创建适用于 SQL Server 标准版 2016 的选项组。
创建选项组
登录 Amazon Web Services Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/
。 -
在导航窗格中,选择选项组。
-
选择创建组。
-
在创建选项组窗口中,执行以下操作:
-
对于名称,输入选项组的名称,该名称在 Amazon 账户内具有唯一性,例如
ssis-se-2016
。此名称只能包含字母、数字和连字符。 -
对于描述,输入选项组的简要描述,例如
SSIS option group for SQL Server SE 2016
。此说明用于显示说明。 -
对于引擎,选择 sqlserver-se。
-
对于主要引擎版本,选择 13.00。
-
-
选择创建。
以下控制台过程创建适用于 SQL Server 标准版 2016 的选项组。
创建选项组
-
运行以下命令之一。
对于 Linux、macOS 或 Unix:
aws rds create-option-group \ --option-group-name
ssis-se-2016
\ --engine-namesqlserver-se
\ --major-engine-version13.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-namesqlserver-se
^ --major-engine-version13.00
^ --option-group-description "SSIS option group for SQL Server SE 2016
"
将 SSIS 选项添加到选项组
接下来,使用 Amazon Web Services Management Console或 Amazon CLI 将 SSIS
选项添加到您的选项组。
添加 SSIS 选项
登录Amazon Web Services Management Console并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/
。 -
在导航窗格中,选择选项组。
-
选择您刚刚创建的选项组(在此示例中为 ssis-se-2016)。
-
选择添加选项。
-
在选项详细信息下,为选项名称选择 SSIS。
-
在 计划 (Scheduling) 下,选择是立即添加选项还是在下一个维护时段添加选项。
-
选择添加选项。
添加 SSIS 选项
-
将
SSIS
选项添加到该选项组。对于 Linux、macOS 或 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 创建参数组
为与您计划用于 SSIS 的 SQL Server 版本和数据库实例版本对应的 clr enabled
参数创建或修改参数组。
以下过程为 SQL Server 标准版 2016 创建一个参数组。
创建参数组
登录 Amazon Web Services Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/
。 -
在导航窗格中,选择参数组。
-
选择创建参数组。
-
在创建参数组窗格中,执行以下操作:
-
对于参数组系列,选择 sqlserver-se-13.0。
-
对于组名称,输入参数组的标识符,如
ssis-sqlserver-se-13
。 -
对于描述,输入
clr enabled parameter group
。
-
-
选择创建。
以下过程为 SQL Server 标准版 2016 创建一个参数组。
创建参数组
-
运行以下命令之一。
对于 Linux、macOS 或 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 标准版 2016 创建的参数组。
修改参数组
登录 Amazon Web Services Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/
。 -
在导航窗格中,选择参数组。
-
选择参数组,例如 ssis-sqlserver-se-13。
-
在参数下,从参数列表中筛选
clr
。 -
选择 clr enabled (启用 clr)。
-
选择编辑参数。
-
从值中选择 1。
-
选择 Save changes(保存更改)。
以下过程修改您为 SQL Server 标准版 2016 创建的参数组。
修改参数组
-
运行以下命令之一。
对于 Linux、macOS 或 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 选项组和参数组与数据库实例关联,请使用 Amazon Web Services Management Console或 Amazon CLI
注意
如果您使用现有实例,则该实例必须已关联 Active Directory 域和 Amazon Identity and Access Management (IAM) 角色。如果您创建新实例,请指定现有的 Active Directory 域和 IAM 角色。有关更多信息,请参阅 将 Active Directory 用于 RDS for SQL Server。
要完成对 SSIS 的启用,请将 SSIS 选项组和参数组与新的或现有的数据库实例关联:
-
对于新数据库实例,请在启动实例时将其关联。有关更多信息,请参阅“创建 Amazon RDS 数据库实例”。
-
对于现有数据库实例,请通过修改实例将其关联。有关更多信息,请参阅 修改 Amazon RDS 数据库实例。
您可以将 SSIS 选项组和参数组与新的或现有的数据库实例关联。
使用 SSIS 选项组和参数组创建实例
-
指定创建选项组时使用的相同数据库引擎类型和主要版本。
对于 Linux、macOS 或 Unix:
aws rds create-db-instance \ --db-instance-identifier
myssisinstance
\ --db-instance-classdb.m5.2xlarge
\ --enginesqlserver-se
\ --engine-version13.00.5426.0.v1
\ --allocated-storage100
\ --manage-master-user-password \ --master-usernameadmin
\ --storage-typegp2
\ --license-modelli
\ --domain-iam-role-namemy-directory-iam-role
\ --domainmy-domain-id
\ --option-group-namessis-se-2016
\ --db-parameter-group-namessis-sqlserver-se-13
对于 Windows:
aws rds create-db-instance ^ --db-instance-identifier
myssisinstance
^ --db-instance-classdb.m5.2xlarge
^ --enginesqlserver-se
^ --engine-version13.00.5426.0.v1
^ --allocated-storage100
^ --manage-master-user-password ^ --master-usernameadmin
^ --storage-typegp2
^ --license-modelli
^ --domain-iam-role-namemy-directory-iam-role
^ --domainmy-domain-id
^ --option-group-namessis-se-2016
^ --db-parameter-group-namessis-sqlserver-se-13
修改实例并关联 SSIS 选项组和参数组
-
运行以下命令之一。
对于 Linux、macOS 或 Unix:
aws rds modify-db-instance \ --db-instance-identifier
myssisinstance
\ --option-group-namessis-se-2016
\ --db-parameter-group-namessis-sqlserver-se-13
\ --apply-immediately对于 Windows:
aws rds modify-db-instance ^ --db-instance-identifier
myssisinstance
^ --option-group-namessis-se-2016
^ --db-parameter-group-namessis-sqlserver-se-13
^ --apply-immediately
启用 S3 集成
要将 SSIS 项目 (.ispac) 文件下载到主机以进行部署,请使用 S3 文件集成。有关更多信息,请参阅 将 Amazon RDS for SQL Server 数据库实例与 Amazon S3 集成。