【问题标题】:Copy entire database contents (schema and data)复制整个数据库内容(模式和数据)
【发布时间】:2010-12-15 01:17:35
【问题描述】:

我需要复制 SQL Server 数据库的内容(表、视图、过程、数据等)并将其复制到另一个 SQL Server 数据库。我需要完全在脚本中执行此操作,因为我无法将文件传送到目标 Web 服务器。使用 Microsoft SQL Server Management Studio,我怎样才能做到这一点?

注意:我要复制到的数据库将具有相同的名称并且完全为空。

【问题讨论】:

    标签: sql-server sql-server-2005 sql-server-2008 ssms


    【解决方案1】:

    您可以使用 SSMS 编写数据库架构和数据脚本

    右键单击数据库。选择任务....然后选择生成 sql 脚本。

    指定所有对象。然后在选项菜单底部选择生成数据脚本。

    以下是一些有用的链接

    http://blog.sqlauthority.com/2007/08/21/sql-server-2005-create-script-to-copy-database-schema-and-all-the-objects-stored-procedure-functions-triggers-tables-views-constraints-and-all-other-database-objects/

    http://blog.sqlauthority.com/2007/11/16/sql-server-2005-generate-script-with-data-from-database-database-publishing-wizard/

    【讨论】:

    • 虽然我修改了这个,但请阅读你的脚本。在复杂的环境中你可能会出现乱序的函数等。
    • @iivel ...注意在 SQL Server Managment Studio 中,“为依赖对象生成脚本”选项实际上可以很好地保持依赖对象的顺序。
    • 我当然相信你,这就是为什么我认为你有正确的答案。也许这是我工作过的环境的产物,每个对象都需要单独的脚本,但是在将事物组合在一起的方式上,排序可能是“不稳定的”。我认为在运行之前总是值得回顾一下。
    【解决方案2】:

    您可以备份数据库并恢复到您想要的任何实例。因为我不喜欢在最初在其他地方学习时发布“操作方法” - 这是描述该过程的 MSDN。

    http://msdn.microsoft.com/en-us/library/ms187048.aspx

    这是我们在生产环境中做事的方式。我们备份并恢复到我们的其他实例。

    【讨论】:

    • 我需要完全在脚本中执行此操作,因为我无法将文件转移到目标 Web 服务器。
    • 对不起,不知怎的,我完全错过了你问题的那一部分。我认为 John Hartsock 的回答应该能满足您的需求。
    【解决方案3】:

    最简单的方法是从备份中恢复,但由于您无法将文件复制到文件系统,复制数据库向导会执行此操作。

    http://msdn.microsoft.com/en-us/library/ms188664.aspx

    【讨论】:

      猜你喜欢
      • 2010-12-25
      • 1970-01-01
      • 1970-01-01
      • 2010-11-21
      • 1970-01-01
      • 2013-09-23
      • 2012-11-26
      • 2013-06-11
      • 1970-01-01
      相关资源
      最近更新 更多