可重启性与健壮性:SSIS包配置与事务处理
立即解锁
发布时间: 2025-08-21 01:29:43 阅读量: 1 订阅数: 4 


精通SQL Server 2012 SSIS:专家级解决方案
### 可重启性与健壮性:SSIS 包配置与事务处理
在数据处理和集成领域,可重启性和健壮性是确保系统稳定运行的关键因素。本文将深入探讨 SSIS(SQL Server Integration Services)中的包配置和事务处理,通过详细的步骤和示例,帮助你理解如何利用这些功能来提高数据处理的灵活性和可靠性。
#### 包配置:传统的关联方法
传统包部署模型具备配置包的能力,包配置是在传统部署模型中处理配置的方式。在传统模型中,包是与项目无关的不同对象,因此无法为其应用项目范围的参数等。不过,包配置以另一种方式解决了这个问题。
包配置由属性和值组成,这些属性和值可以在包外部设置,并在包内部简单使用。包配置有五种类型,其中四种基于配置值的位置,另一种用于在包之间传递值。
##### 准备工作
在进行包配置之前,需要准备一个用于记录日志的表 `DbTablesInfo`。如果该表已经存在,可以执行 `truncate table DbTablesInfo` 语句清空表数据;否则,使用以下脚本在 `PacktPub_SSISbook` 数据库中创建该表:
```sql
CREATE TABLE [dbo].[DbTablesInfo](
[ID] [int] IDENTITY(1,1) NOT NULL,
[Connection] [varchar](500) NULL,
[TableName] [varchar](500) NULL,
[RowNumber] [int] NULL,
[DateTime] [datetime] NULL,
CONSTRAINT [PK_DbTablesInfo] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY =
OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
```
##### 操作步骤
1. **创建 SSIS 项目**:创建一个名为 `R02_Package Configuration` 的 SSIS 项目。
2. **转换为传统部署模型**:由于要处理配置,需要使用传统部署模型。在解决方案资源管理器中右键单击项目,选择“转换为包部署模型”,并按照转换步骤完成向导。
3. **重命名包**:将 `package.dtsx` 重命名为 `P2_Child.dtsx`。
4. **创建变量**:创建所需的变量,并设置 `ConnectionStr` 的默认值,例如:
```plaintext
Data Source=.;Initial Catalog=master;Provider=SQLNCLI11.1;Integrated Security=SSPI;Auto Translate=False;
```
5. **设置变量表达式**:对于 `SQLCommand` 变量,不设置默认值,而是在属性窗口中设置其 `Expression` 属性为 `"select count(*) as cnt from "+ @[User::TableName]`,并将 `EvaluateAsExpression` 属性设置为 `true`。
6. **创建连接管理器**:创建两个 OLE DB 连接管理器,一个连接到 `PacktPub_SSISbook` 数据库,另一个命名为 `Custom`,并将其 `ConnectionString` 属性设置为 `User::ConnectionStr` 变量。
7. **添加执行 SQL 任务**:在 `P2_Child` 包的控制流中添加两个执行 SQL 任务,分别命名为 `SQL - Fetch Row Number` 和 `SQL - Log Info in DB`,并进行相应的配置。
8. **创建主包**:添加另一个包,命名为 `P1_Master.dtsx`,并进行类似的变量和连接管理器设置。
9. **设置主包任务**:在 `P1_Master` 包中添加执行 SQL 任务、数据流任务、循环容器和执行包任务,并进行相应的配置。
10. **设置配置**:在 `P1_Master` 和 `P2_Child` 包中分别设置配置,包括 XML 配置文件和父包变量配置。
以下是包配置操作步骤的流程图:
```mermaid
graph LR
A[创建 SSIS 项目] --> B[转换为传统部署模型]
B --> C[重命名包]
C --> D[创建变量]
D --> E[设置变量表达式]
E --> F[创建连接管理器]
F --> G[添加执行 SQL 任务]
G --> H[创建主包]
H --> I[设置主包任务]
I --> J[设置配置]
```
##### 包配置类型
- **XML 配置文件**:属性和值存储在扩展名为 `.dtsConfig` 的 XML 文件中,每个文件
0
0
复制全文
相关推荐










