支持 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 版本和数据库实例版本对应的选项组。为此,请使用 AWS Management Console或 AWS CLI。
以下控制台过程创建适用于 SQL Server 标准版 2016 的选项组。
创建选项组
登录 AWS Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/
。 -
在导航窗格中,选择选项组。
-
选择创建组。
-
在创建选项组窗口中,执行以下操作:
-
对于名称,输入选项组的名称,该名称在 AWS 账户内具有唯一性,例如
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 选项添加到选项组
接下来,使用 AWS Management Console或 AWS CLI 将 SSIS
选项添加到您的选项组。
添加 SSIS 选项
登录AWS 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 创建一个参数组。
创建参数组
登录 AWS 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 创建的参数组。
修改参数组
登录 AWS 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 选项组和参数组与数据库实例关联,请使用 AWS Management Console或 AWS CLI
注意
如果您使用现有实例,则该实例必须已关联 Active Directory 域和 AWS 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 集成。