下面通过一个例子,利用最新的SQL Server 2005 Export/Import 向导来建立一个简单的SSIS Package (包),这个SSIS将把SQL Server 2005 自带的Adventure数据库中的一个表的一部分导出到另一个 SSIS数据库的新表中。
1)打开SQL Server 2005 Management Studio (SSMS), 选择您所安装的服务器种类 (Server Type)、名称(Server Name) 和验证方式 (Authentication)以打开数据库,如图1-1所示。这里服务器种类请选择数据库引擎 (Data Engine) 。SQL Server 2005 SSMS允许连接到多种不同的 Server Type, 比如 Data Engine, Analysis Services, Reporting Services 和 Integration Services,可用的Server Type 取决于在安装SQL Server 2005 时安装了多少相应的服务。以后我们还会用到 Integration Services 种类来连接到 Integration Services, 来查看 SSIS package的运行信息等。
图2-1
2)连接到 Data Engine 后,选择 Databases 下的 AdventureWorks 数据库,鼠标右键选择 Tasks �C Export Data 执行 Import/Export 向导,如图 2- 2所示。如果下次执行时你希望不显时该欢迎窗口,可以选中图中的 Do not show this starting page again 选项。单击 [Next] 按钮,进入选择数据源的窗口,如图 2-3 所示。
图2-2
3)在 图2-3中, 选择 SQL Native Client 作为数据源类型从可用的服务器中选择适当的 SQL Server 服务器;选择验证方式,这里使用 Windows 验证方式;选择默认数据库AdventureWorks。
数据源类型多少,取决于你的电脑上安装了多少数据源连接方式,因为本文中的例子都是利用本地计算机上
SQL Server 2005
调试的,所以多数使用
SQL Native Client
作为数据源的连接方式。
图 2�C3
4)单击[Next]按钮,进入‘选择目标’的窗口,既选择导出数据的目标。因为我们要把数据源中的一个表导出到一个不存在的数据库中,所以首先应该建立一个新的SSIS数据库。单击该窗口中的[New] 按钮以建立一个新的SSIS数据库,建立数据库的参数全部使用默认值。此时的‘选择目标’窗口如图 2-4 所示。
图 2-4
5)单击 [Next] 按钮,进入‘指定复制或查询’窗口,如图2-5所示。在该窗口中,可以指定导出数据的范围,这里有两个方法可以选择:
- Copy data from one or more tables or views. 从一个或多个表或视图中拷贝数据。这个选项用来拷贝一个或多个表或视图中的全部记录和全部字段,也就是说导出整个的表和视图,这是一种最简单的数据导出方式。
- Write a query to specify the data to transfer. 利用查询指定传输的数据。这个选项具有很大的灵活性,即可以选择不同的表、表的Join作为数据源,也可以选择符合条件的记录范围,指定的表的字段范围等。只要是合法的数据查询语句都可以作为数据源。在一个复杂的SSIS设计过程中,这一选项是最常用的,我们会在以后的章节中详细讨论这一选项的用法。
在本例中我们选则第二个选项,我们将利用一个简单的查询语句来导出少量的记录。
图2-5
6)单击 [Next] 按钮,就会进入一个查询编写器窗口。在这个窗口中可以输入任何合法的 SQL 查询语句,可以按 [Parse] 按钮来检验 SQL 语句的争取性;可以按 [Browse…] 按钮来打开一个 SQL 脚本文件。很遗憾这个查询编写器没有像 SQL Server Analysis Services中使用SQL 向导建立SQL 语句那么方便。
在这个窗口中,我们输入以下语句:
Select Top 10 EmployeeID,ManagerID,Title From AdventureWorks.HumanResources.Employee
我们将选择单击 [Parse] 按钮来验证这条语句的争取性。单击 [Next] 按钮进入到下一步:选择数据源表和视图。
7)在 ‘选择数据源表和视图窗口’中列出了可供使用的数据表和视图,因为我们只是利用查询选择了 Employee表中的一部份数据,所以只有一个数据表可供选择,这个数据表系统自动命名为 Query, 系统默认的目标表将使用与数据源表相同的名字Query, 我们可以单击Destination 列,将目标表更改为 [SSIS].[dbo].[Employee],如图 2-6 所示,这里有很多有用的选项可以调整导出数据,我们会在今后的章节中详细介绍,目前暂时全部使用默认值。
图2-6
在该窗口中有一个重要的功能,就是设定就是设制数据源表和目标表的对应字段。单击 Mapping 列的 [Edit…] 按钮,打开图2-7 所示的 列对应设置窗口。我们同样会在今后的章节中详细介绍该窗口的使用,目前我们使用图中所示的默认值。
图 2 -7
8)单击[Next] 进入执行窗口,如图 2-8 所示。我们选择 ‘Execute immediately’ 来立即执行这个导出数据的操作,为了方便在SQL Server Intelligence Development Studio 开发环境中打开这个 Package, 我们把这个Package 保存到一个本地文件中。文件的扩展名为 .dtsx, 这也是 SSIS Package 的默认系统扩展名,我们将来开发的任何 SSIS Package 都将使用这一标准的扩展名。
图2-8
9)单击[Next] 窗口,系统会弹出一个对话框要求设定该Package 的保护级别,这里我们选择默认值并单击[Next] 来打开保存Package 的窗口,如图2-9。我们可以修改该Package 的名称Name 和描述 Description 来是我们开发的这个Package 更容易被记忆和共享。系统自动的存盘路径为 My Documents, 但是我还是建议把所有的 SSIS Package 存放到一个便于管理的目录中。
图2-9
10) 单击图中的[Next] 按钮,就会显示一个这次导出操作的简要报告,这个报告给出了以上一系列操作的文字说明。在这个窗口中单击 [Finish] 按钮就会立刻执行这次导出操作并把这个Package 存放到指定的目录中。执行的结构显示在在图2-10 所示的窗口中:
图2- 10
如果在执行过程中没有遇到错误,一个绿色的 Success 标志会出现在窗口的状态栏中。对一个复杂的操作,可以单击窗口中的 [Report] 按钮,将这次操作的结果保存到一个文件或发送到Email 中, 可以单击 [Filter] 按钮选择列表中显示的记录范围来更好地分析操作中出现的问题。
小节
当然SQL Server 2005 数据导入/导出向导并不是开发SSIS 的主要方法,但是本节中我们通过它建立了一个最简单的导出数据的操作,并把这次操作保存到了一个 SSIS Package 文件中。我们下节会在 BI Development Studio 中打开这个简单的 Package 来学习一步步开发 SSIS Package 的方法。