如何生成将使用数据重建MS SQL Server 2005数据库的脚本?

时间:2008-08-20 15:15:25

标签: sql-server scripting

我有一个SQL Server 2005数据库,我希望能够立即重新创建。我希望能够指向我的数据库并生成一组完整的脚本,这些脚本不仅会创建数据库中的所有表/视图/ sprocs / functions ,而且还会填充所有带有数据的表格。

有没有工具可以做到这一点?是否有任何开源或免费工具可以做到这一点?

3 个答案:

答案 0 :(得分:7)

Database Publishing Wizard是一个很好的小工具。它的OSS和免费,这很难被击败。

答案 1 :(得分:1)

我一直在做的是让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命令将其放入批处理文件中。

答案 2 :(得分:0)

检查以下内容,了解将创建将生成表及其所有数据的脚本的过程。您可以将其包装在另一个存储过程中,该过程迭代所有表并生成一个大型脚本,从头开始重新生成所有内容。

http://anastasiosyal.com/archive/2007/04/25/5.aspx

编辑:似乎Will找到了一个更好的解决方案+1