相当于SQL Server的mysqldump

是否有一个SQL Server的等效模式和数据导出/转储工具,因为有mysqldump的MySQL。 试图重新部署一个传统的ASP网站,我正在与Windows服务器上工作的快乐的地方。

注意:DTS导出工具自己似乎导出数据,没有表格defs。 使用企业pipe理器和导出数据库越来越接近导出模式和数据…但仍然错过了存储过程。

基本上寻找一个这样做的一切解决scheme,抓住一次我需要的一切。

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

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

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

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

使用SQL server 2008 Management Studio可以非常轻松地完成此任务:

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

工具的位置

2.)在第一页上单击下一步

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

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

将数据添加到脚本

5.)点击休息,你就完成了! 它将保存为一个.sql文件。

移动数据库最简单的方法是使用SQL server Management Studio将数据库导出到另一台服务器,或者如果不起作用,请像其他人一样建立一个备份并将其恢复到别处。

如果您正在寻找将表结构转储到SQL以及为数据创建插入脚本的方法,那么可以使用http://www.asql.biz/en/Download2005.aspx中的 amScript和amInsert 。

如果你想要一个好的付费版本,我会检查出红门SQL比较和红门SQL数据比较。 这些工具可能是过度杀毒,如果你不打算使用它们,可能有点贵。 我认为这主要是降级到DBA。 你可以看http://www.red-gate.com/上的Red-Gate工具。

没有找到正确的工具,我决定创建我自己的:一个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/zh-cn/library/ms187510.aspx

最简单的就是备份和还原或分离和附加

或脚本出所有的表和BCP的数据,然后BCP在新的服务器上的数据

或者使用DTS / SSIS来做到这一点

SQL企业管理器或SQL server管理工作室有基于向导的方法,后者将生成脚本,以便您可以看到如何完成。

您也可以使用BACKUP和RESTORE命令。 更多细节在这里: http : //msdn.microsoft.com/en-us/library/ms189826.aspx

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

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

我们现在通常使用SQL比较和SQL数据比较 。 Red Gate的SQL Packager也可能是一个选项。

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

  1. 从微软服务器,这是原来的问题的一部分
  2. 帮助快速找到两个数据库之间的结构差异,当两个数据库之一运行缓慢时,它们应该具有相同的结构。 Unix diff或sdiff,忽略空格,但需要一种方法来创建输入文件。