SQL Server导入导出服务
u 案例需求
用户可以使用导入和导出向导将SQL Server数据导出到TXT文件中
u 知识提示
SQL Server 2008的导入导出服务可以实现不同类型的数据库系统的数据转换。为了让用户可以更直观的使用导入导出服务,微软提供了导入导出向导。导入和导出向导提供了一种从源向目标复制数据的最简便的方法,可以在多种常用数据格式之间转换数据,还可以创建目标数据库和插入表。
可以向下列源中复制数据或从其中复制数据:SQL Server、文本文件、Access、
Excel、其他 OLE DB 访问接口。
这些数据源既可用作源,又可用作目标。还可将 ADO.NET 访问接口用作源。指定源和目标后,便可选择要导入或导出的数据。 可以根据源和目标类型,设置不同的向导选项。例如,如果在 SQL Server 数据库之间复制数据,则指定要从中复制数据的表,或提供用来选择数据的 SQL 语句。
和所有向导一样,这个向导以提问的方式一次一步地帮助完成整个过程。
案例:某公司需要把Myshool数据库中的student表数据导入到一个文本文件student.txt中,用以电邮给人事部门经理。
具体操作步骤如下。
(1)打开SQL Server Management Studio,在对象资源管理器中,展开“SQL Server 实例”→“数据库”→“MySchool”节点,单击鼠标右键,选择“任务”→“导出数据”命令。
(2)出现导入和导出向导的欢迎界面,单击“下一步”按钮,出现“选择数据源”对话框,如图4.1所示。
图4.1 选择数据源
(3)在“选择数据源”对话框中设置如下选项:
? 数据源:SQL Native Client 10.0。
? 服务器名称:DC。
? 身份验证:Windows身份验证。
? 数据库:MySchool。
(4)单击“下一步”按钮,出现“选择目标”对话框,设置如下选项(如图4.2所示):
? 目标:平面文件目标。
? 文件名:C:\student.txt。
? 格式:带分隔符。
图4.2 选择目标
(5)单击“下一步”按钮,出现“指定表复制或查询”对话框,如图4.3所示。
图4.3 指定表复制或查询
(6)在“指定表复制或查询”对话框中选中“复制一个或多个表或视图的数据”单选按钮,单击“下一步”按钮,出现“配置平面文件目标”对话框,如图4.4所示。
图4.4 配置平面文件目标
设置源表或源视图为MySchool.dbo.student,单击“下一步”按钮。
(7)在“保存并执行包”对话框中选中“立即执行”复选框,如图4.5所示,然后单击“下一步”按钮。
图4.5 保存并执行包
(8)在如图4.6所示的对话框中单击“完成”按钮。
图4.6 完成该向导
(9)如图4.7所示,当执行完后,单击“关闭”按钮。
图4.7 执行成功
(10)在Windows资源管理器中打开C:\student.txt文件,验证导出的结果。
将Excel数据导入到SQL Server
用户即可以在SQL Server Management Studio中使用导入和导出向导导出数据,也可以用此方法来导入数据。
案例需求:Benet公司需要将原来保存在Excel文件Customer.xls中的客户信息数据导入到SQL Server的Customer表中。具体步骤如下:
(1)打开SQL Server Management Studio,在对象资源管理器中,展开“SQL Server 实例”→“数据库”→“Benet”节点,单击鼠标右键,选择“任务”→“导入数据”命令。
(2)出现欢迎界面,单击“下一步”按钮,出现“选择数据源”对话框。
(3)在“选择数据源”对话框中设置如下选项(如图4.8所示):
图4.8 选择数据源
? 数据源:Microsoft Excel。
? Excel文件路径:C:\temp\Customer.xls。
? 版本:Microsoft Excel 97-2005。
(4)单击“下一步”按钮,出现“选择目标”对话框,设置如下选项:
? 目标:SQL Native Client。
? 服务器名称:TESTSQL。
? 身份验证:Windows身份验证。
? 数据库:Benet。
(5)单击“下一步”按钮,出现“指定表复制或查询”对话框。
(6)在“指定表复制或查询”对话框中选中“复制一个或多个表或视图的数据”单选按钮,单击“下一步”按钮。
(7)出现“选择源表和源视图”对话框,设置如下选项,如图4.9所示,然后单击“下一步”按钮。
? 源:Cumtomer。
? 目标:Benet.dbo.Customer。
图4.9 选择源表和源视图
(8)在“保存并执行包”对话框中选中“立即执行”复选框,然后单击“下一步” 按钮。
(9)在如图4.10所示的对话框中单击“完成”按钮。
(10)当执行完后,单击“关闭”按钮。
图4.10 完成该向导
(11)在对象资源管理器中打开Benet.dbo.Customer表,验证导入的结果。
在不同的SQL Server之间转换数据
用户还可以使用导入和导出向导在不同SQL Server服务器之间转换数据。
案例需求:某公司的管理员需要将SQL Server服务器KKK1上的Benet数据库导出到另一台开发测试用的SQL Server服务器TESTSQL上,并新建一个数据库为BenetIMP。具体步骤如下:
(1)打开SQL Server Management Studio,在对象资源管理器中,展开“SQL Server 实例”→“数据库”→“Benet”节点,单击鼠标右键,选择“任务”→“导出数据”命令。
(2)出现欢迎界面,单击“下一步”按钮,出现“选择数据源”对话框,在该对话框中设置如下选项:
? 数据源:SQL Native Client。
? 服务器名称:KKK1。
? 身份验证:Windows身份验证。
? 数据库:Benet。
(3)单击“下一步”按钮,出现“选择目标”对话框,设置如下选项:
? 目标:SQL Native Client。
? 服务器名称:TESTSQL。
? 身份验证:Windows身份验证。
? 数据库:单击“新建”按钮,在“名称”项中输入:BenetIMP,单击“确定”按钮。
(4)单击“下一步”按钮,出现“指定表复制或查询”对话框。
(5)在“指定表复制或查询”对话框中选中“复制一个或多个表或视图的数据”单选按钮,单击“下一步”按钮。
(6)出现“选择源表和源视图”对话框,勾选左上角“全选”复选框,然后单击“下一步”按钮。
(7)在“保存并执行包”对话框中选中“立即执行”复选框,然后单击“下一步”按钮。
(8)在“完成该向导”对话框中单击“完成”按钮。
(9)当执行完后,单击“关闭”按钮。
(10)连接TESTSQL实例,在SQL Server Management Studio的对象资源管理器中打开Benetimp数据库的dbo.customer表,验证导入的结果。