如何生成将使用数据重建MS SQL Server 2005数据库的脚本?
时间:2020-03-05 18:41:09 来源:igfitidea点击:
我有一个SQL Server 2005数据库,希望可以立即重新创建。我希望能够指向我的数据库并生成一套完整的脚本,这些脚本不仅会创建数据库中的所有表/视图/存储过程/函数,还将用数据填充所有表。
有什么工具可以做到这一点?是否有任何开源或者免费工具可以做到这一点?
解决方案
回答
检查以下内容,以了解创建脚本的过程,该脚本将生成表及其所有数据。我们可以将其包装在另一个对所有表进行迭代的存储过程中,并生成一个大型脚本,该脚本将从头开始重新生成所有内容。
http://anastasiosyal.com/archive/2007/04/25/5.aspx
编辑:似乎威尔已经找到了一个更好的解决方案+1
回答
数据库发布向导是一个很棒的小工具。它的OSS和免费的,这是很难击败的。
回答
我通常要做的是让MS SQL Management Studio创建脚本来重建数据库和空表。然后,我使用另一个脚本来生成ms-dos批处理文件,以通过" bcp"导出/导入数据。请参阅下面的sql。
/* this is used to export */ use databaseXXX select ('bcp databaseXXX..' + name + ' OUT ' + name + ' /eErrors.txt /b100 /n /Usa /Ppwd /Sserver') as bcp from sysobjects where type = 'U' order by [name] /* this is used to import */ use databaseXXX select ('bcp databaseXXX..' + name + ' IN ' + name + ' /E /eErrors.txt /b100 /n /Usa /Ppwd /Sserver') as bcp from sysobjects where type = 'U' order by [name]
每次都能为我工作,而且很快。如果将表生成脚本保存在文件中,则也可以通过sqlcmd命令将此文件放入批处理文件中。