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

Posted

技术标签:

【中文标题】如何生成将使用数据重建我的 MS SQL Server 2005 数据库的脚本?【英文标题】:How do I generate scripts that will rebuild my MS SQL Server 2005 database with data? 【发布时间】:2010-09-06 07:13:43 【问题描述】:

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

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

【问题讨论】:

【参考方案1】:

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

【讨论】:

【参考方案2】:

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

【讨论】:

【参考方案3】:

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

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

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

【讨论】:

以上是关于如何生成将使用数据重建我的 MS SQL Server 2005 数据库的脚本?的主要内容,如果未能解决你的问题,请参考以下文章

通过 phpMyAdmin 将数据库转储导出到 MS SQL

如何将数据从 Ms 访问迁移到 Derby 数据库或如何将数据从 My sql 迁移到 Derby 数据库

如何使用sql语句和vba将数据从MS-Access导入excel power查询?

MS SQL 索引重整

如何配置 EF Core 5 以使 MS SQL Server 数据库生成 Guid 密钥

将学说查询生成配置为小写