我曾多次在 mysql 数据库上使用 mysqldump,并且熟悉它的工作原理。有谁知道是否有可以在 sql server 数据库上使用的类似工具。
我知道 SQL 服务器可以备份其数据库,但如果可能的话,我想将所有 SQL 插入语句放入文本文件中。
答案1
有一个免费软件可以根据表数据创建 SQL 插入语句:
[SQL转储器](版主注:由于网站受到恶意软件感染,链接已被删除)
SQL Server Dumper 可让您将选定的 SQL Server 数据库表转储到 SQL INSERT 语句中,这些语句将保存为本地 .sql 文件,并包含创建重复表或用于备份所需的所有数据。您可以选择为每个表创建单独的 .sql 文件,或将所有选定的表合并为一个文件。
该程序实现了以下特殊功能:
- 外键对文本文件中的表格进行排序,以便插入数据而不会发生冲突/错误
- 主键 IDENTITY 保证 IDENTITY 字段的值
- 引用自身会消除约束,并最终再次创建约束
将其与 SQL Server 的内置模式生成(对象脚本)结合使用。
答案2
除了编写自己的 SQL 来执行此操作外,还有一些市售工具,例如:
答案3
对于 Sql Server 2005 和 2000,Microsoft 提供了数据库发布向导,您可以下载这里免费。该工具的较新版本已内置于 Sql Server 2008 中。
答案4
快速浏览了一下 mysqldump(因为我是 SQL Server 专家),2008 年之前的 SQL Server 中没有可以做同样事情的原生程序。但是,您可以从数据库中编写表定义脚本(使用 SQL Server Management Studio),然后可以将所有表数据以原生(即原始)或可读格式导出到文件中。
这将允许您重新创建数据库并以您想要的方式插入数据 - 使用 SQL Server 导入工具,或者您可以自己创建插入语句(尽管您会开始对身份值等感到棘手)。
不过我不建议你亲自尝试——如果你真的想要这种方法,可以尝试一下可用的(非免费)工具。我能想到的唯一一个工具是Apex SQL 脚本。
在 2008 中,您可以使用 SQL Server Management Studio 来执行此操作,而无需编写脚本或购买其他产品。
希望这对你有帮助!