Sql Server 2005之前的版本,Management Studio只能导出表结构的脚本,而不能将数据也导出为SQL 脚本。如果需要转移数据库,只能使用Backup/Restore命令。
由于Backup/Restore命令只使用本地路径存取数据备份文件,客户端必须有权利读/写服务器的相关目录,才能完成数据的导入/导出。如果需要在一个远程环境完成数据的导入/导出工作,例如需要远程支持客户(或远程分支机构)的数据部署,就会遇到极大的困难。
幸而从2008版开始,SQL Server Management Studio开始支持将数据导出为SQL脚本(表示为Insert语句)。数据库数据可以执行SQL脚本的方式,直接导入数据库。从而为远程导入数据提供了很大的方便。
当数据量较小时, 数据SQL脚本可以在Management Studio里直接执行。但当数据量很大时,Management Studio可能执行执行失败,并报OutOfMemoryException异常。这时可以使用Sqlcmd命令行工具执行导入:
Sqlcmd –S 数据源名称 –d 数据库名 –i 须导入的数据SQL文件名 –U 数据库用户名 –P 数据库用户密码
(注意:所有的参数均是大小写敏感的)