by kevin
14.
八月 2016 14:52
>
之前我们要将一个表中的数据导出为脚本,那么只有在网上找一个导出数据的Script,然后运行就可以导出数据脚本了。现在在SQL Server 2008的Management Studio中增加了一个新特性,除了导出表的定义外,还支持将表中的数据导出为脚本。导出过程:
在SSMS2008(SQL Server Management Studio 2008)中的对象资源管理器中,右击需要导出数据的数据库,在弹出式菜单中选择“任务”下的“生成脚本”选项。
在脚本向导的选择脚本选项中,有以下重要选项可以选择:
- “编写数据的脚本”:是否导出数据库中的表数据。
- “包含 If Not Exists”:此选项可以删除数据库中已存在的同名的数据库对象。
- “编写创建数据库的脚本”:是否产生 Create Database 的SQL 脚本
-
- “为服务器版本编写脚本”:选择要执行脚本的数据库版本。
-
然后下一步选择导出的对象,选择导出的表,最后完成时即可以看到由系统导出的表定义和表数据了。
1)另外有两个地方要注意。
一、CREATE DATABASE [DBNAME] (如果选择了“编写创建数据库的脚本”选项) 和 USE [DATABASE] 。
二、改数据库架构,一般本地是用dbo,所以按Ctrl+F键,选择替换窗口,把 dbo 替换成 [YOUR_SCHEMA] 至此脚本改造完成。
2)但是在实际的操作中,如果从08导出到低版本的sql中可能会有很多兼容性的问题,因此向低级版本导出脚本的时候
在“选择数据库”中,可以不勾选“为所选数据库中的所有对象编写脚本”复选框
在“选择脚本选项”中,注意把“为服务器版本编写脚本”中选择导出的数据库版本(2000,2005,2008)
3)导出的脚本如何很大,无法直接在SQL Server Management Studio直接打开运行,使用 sqlcmd 运行 Transact-SQL 脚本文件 (sqlcmd工具)。
运行脚本文件
-
打开命令提示符窗口。
-
在命令提示符窗口中,键入 sqlcmd -S myServer\instanceName -i C:\myScript.sql
-
按 Enter 键。
将此输出保存到文本文件中
-
打开命令提示符窗口。
-
在命令提示符窗口中,键入 sqlcmd -S myServer\instanceName -i C:\myScript.sql -o C:\EmpAdds.txt
-
按 Enter 键。