是否有免费工具允许您将MS-SQL Express(2005)表的数据(而不是结构)作为INSERT语句转储到平面文件中?
答案 0 :(得分:3)
您需要做的是
适用于sql serfver 2008 r2。 在以前版本的sql server中,它类似于“脚本数据”,你设置为true。
答案 1 :(得分:2)
tablediff是MS SQL Server附带的免费工具。只要您的源是要从中生成插入的表,并且您有另一个要生成插入的空表,它就会创建您正在寻找的文件。
BCP可能是用于移动数据的实用程序的更好选择 - 但它不会像您正在寻找的那样生成实际的DML插入语句。
我还要查看数据库发布向导。我没有使用过它,但它应该能够编写你的模式和数据的脚本 - 从那里你可以将它生成的脚本切割成你想要的。
有关tablediff实用程序的更多信息,请参阅this link。
有关下载数据库发布向导的信息,请参阅this link。
答案 2 :(得分:1)
我认为This会对你有用,但你必须为每张桌子运行它。
答案 3 :(得分:1)
我知道这不是你的想法,而且建议的工具看起来很有希望,但如果数据从一个SQL Server发送到另一个,那么低开销的替代方案就是使用bcp。以下重要选项包括-E用于保留身份信息,-n用于使用本机格式。执行第一个语句会让构建一个批处理文件将所有数据转储到文件,第二个语句将创建bcp ins。
Select 'bcp ' + Table_Catalog + '..' +
Table_Name + ' out ' + Table_Name
+ '.bcp -S ServerName -U userid -P password -n '
from information_schema.tables
where table_type = 'BASE TABLE'
Select 'bcp ' + Table_Catalog + '..' + Table_Name
+ ' in .\' + Table_name +
'.bcp -S .\ -U userid -P password -n -E '
from information_schema.tables
where table_type = 'BASE TABLE'
示例输出
bcp out命令
bcp master..tblDepartments out tblDepartments.bcp -S ServerName -U
userid -P password -n
bcp in command
bcp master..tblDepartments in .\tblDepartments.bcp -S .\
-U userid -P password -n -E
答案 4 :(得分:0)
答案 5 :(得分:0)
尝试免费的SSMS Tools Pack,它是SSMS和SSMS Express的加载项。它使您能够为表,dte整个数据库或仅查询结果生成插入脚本。