SQL Server 是否有与 MySQL 具有 mysqldump 等效的模式和数据导出/转储工具。试图重新定位旧的 ASP 站点,但我对在 Windows 服务器上工作感到很不高兴。

笔记:DTS 导出实用程序自己似乎可以导出数据,而无需表定义。使用企业管理器并导出数据库与导出架构和数据更加接近......但仍然错过存储过程。

基本上寻找一种万能的解决方案,可以立即获取我需要的一切。

有帮助吗?

解决方案

最简单的方法是sql server数据库发布向导。

  • 开源
  • 自由的
  • 正是您想要的
  • 由微软开发

它没有 mysqldump 的所有功能,但已经足够接近了。

http://www.codeplex.com/sqlhost/wiki/view.aspx?title=database%20publishing%20wizard

其他提示

要使用 SQL Server 2008 Management Studio 轻松完成此操作:

1.) 右键单击​​数据库(不是表)并选择任务 -> 生成脚本

location of tool

2.) 单击第一页上的“下一步”

3.) 如果您想复制整个数据库,只需单击“下一步”。如果要复制特定的表,请单击“选择特定数据库对象”,选择所需的表,然后单击下一步。

4.) 应选择“保存到文件”。 重要的: :单击“保存到文件”旁边的“高级”按钮,找到“脚本的数据类型”,然后将“仅限架构”更改为“架构和数据”(如果要创建表)或“仅限数据”(如果您想创建表)正在将数据复制到现有表)。

adding data to the script

5.) 单击其余部分即可完成!它将另存为 .sql 文件。

移动数据库的最简单方法是使用 SQL Server Management Studio 将数据库导出到另一台服务器,或者如果这不起作用,请按照其他人的建议进行备份,然后将其还原到其他位置。

如果您正在寻找一种将表结构转储到 SQL 以及为数据创建插入脚本的方法,一个很好的免费选项是使用 amScript 和 amInsert http://www.asql.biz/en/Download2005.aspx.

如果您想要一个好的付费版本,我会查看 Red-Gate SQL Compare 和 Red-Gate SQL-Data Compare。不过,这些工具可能有点过头了,而且如果您不打算经常使用它们,它们可能会有点贵。我认为这主要是由 DBA 负责的。您可以查看 Red-Gate 工具: http://www.red-gate.com/.

由于找不到合适的工具,我决定创建自己的工具:sqlserverdump 命令行实用程序。检查一下 http://sqlserverdump.codeplex.com/.

使用 SMO API 更容易。它可以让你像 mysqldump 一样,甚至更好。这是一个代码示例:

http://samyem.blogspot.com/2010/01/automate-sql-dumps-for-sqlserver.html

嗯,Mysqldump 是一系列 SQL 语句。您可以使用 DTS 来完成此操作,但为什么不直接创建备份并在新计算机上恢复它呢?

如果你想通过 SQL 来完成:http://msdn.microsoft.com/en-us/library/aa225964(SQL.80).aspx

或者只需右键单击数据库并点击“任务”->“备份”(http://msdn.microsoft.com/en-us/library/ms187510.aspx)

最简单的是备份和恢复或分离和附加

或编写所有表的脚本并 BCP 输出数据,然后 BCP 写入新服务器上的数据

或使用 DTS/SSIS 来执行此操作

SQL Enterprise Manager 或 SQL Server Management Studio 具有基于向导的方法,后者将生成脚本,以便您可以查看其完成方式。

您还可以使用 BACKUP 和 RESTORE 命令。更多详细信息请参见此处: http://msdn.microsoft.com/en-us/library/ms189826.aspx

如果您可以让 DTS 或集成服务连接到两台服务器,则可以使用向导将对象从一台服务器“复制”到另一台服务器。“复制数据库”要求两台服务器可以相互验证,这通常意味着位于同一域中,并且服务在域登录下运行。

否则,您可以为架构生成脚本,并且可以使用 Integration Services/DTS 包将数据导出到一个文件,然后将其导入到另一个文件中。

我们现在一般用 SQL比较SQL数据比较. 。红门的 SQL打包器 也可能是一个选择。

备份/恢复不会做两件事:

  1. 从Microsoft Server中脱下,这是原始问题的一部分
  2. 帮助快速找到两个DB之间的结构差异,它们在缓慢运行时应该具有相同的结构。Unix diff或SDIFF忽略了空白,但需要一种制作输入文件的方法。

如果您需要类似 CREATE TABLE 的等效 SQL 语句...& INSERT INTO...,那么我建议你尝试HeidiSQL。它是一个非常棒的免费实用程序,可以访问 Microsoft SQL Server、MySQL 和 PostgreSQL。它使您能够浏览和编辑数据,创建和编辑表、视图、过程、触发器和计划事件。此外,您还可以将结构和数据导出到 SQL 文件。http://www.heidisql.com

转到工具/将数据库导出为 SQL 并选择架构。选中该框以创建表和“插入”数据。就是这样。

与“Microsoft SQL Server Management Studio”或 phpMyAdmin 相比,我更喜欢 HeidiSQL...ETC。

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