我有一个 SQL Server 2005 数据库,我希望能够立即重新创建该数据库。我希望能够指向我的数据库并生成一套完整的脚本,这些脚本不仅会创建所有 表/视图/存储过程/函数 它们位于数据库中,但也会用数据填充所有表。

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

有帮助吗?

解决方案

数据库发布向导 是一个很棒的小工具。它的开源软件而且免费,这是无与伦比的。

其他提示

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

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

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

编辑:看来威尔找到了更好的解决方案+1 给威尔

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top