【问题标题】:Easiest way to copy an entire SQL server Database from a server to local SQL Express将整个 SQL Server 数据库从服务器复制到本地 SQL Express 的最简单方法
【发布时间】:2010-09-19 14:31:21
【问题描述】:

我需要将整个数据库从服务器上的 SQL Server 2005 复制到本地 SQL Express,以便运行我的应用程序进行演示。完成这项工作的最快/最简单的方法是什么?

编辑:我对我的服务器的访问权限非常有限,所以我认为我无法访问我可以创建的备份文件,所以它已经失效了。

【问题讨论】:

    标签: sql-server


    【解决方案1】:

    如果数据库不是太大,可以使用数据库发布向导。

    这是 Microsoft 提供的免费工具,可为您创建完整的数据库 SQL 脚本(不仅是表和资料,还包括所有数据)。

    您可以在您的机器上安装该工具,连接到远程服务器并让该工具直接在您的机器上创建脚本。

    您可以下载数据库发布向导here


    显然上面的链接在 2019 年不再有效。
    这可能是因为在较新版本的 SQL Server Management Studio 中,数据库发布向导的功能是开箱即用的,因此无需单独安装。

    它现在称为Generate and Publish Scripts Wizard,但它的作用完全相同。

    【讨论】:

    • 注意:我对此有非常基本的经验....因为它有时与数据关系有“问题”。
    • 非常适合中等复杂性/规模的数据库!只是希望有一种更简单的方法来处理庞大而复杂的问题。
    • @Druid 您应该查看 BCP 实用程序。它非常强大;我用它来移动具有复杂关系的大量数据。
    • 这是一个非常老的答案,我知道,但链接不存在了。
    • @bgmCoder:这可能是因为原版 SSMS 现在提供了相同的功能,请参阅我编辑的答案。
    【解决方案2】:

    您可以右键单击数据库 -> 任务 -> 生成脚本。您可以在此处选择一个、多个或所有对象。然后在向导的“设置脚本选项”步骤中,单击高级。在这里将属性“数据类型”设置为脚本;到架构和数据。

    完成这些步骤后,请确保您发布到文件。因为只有文件才能处理大量数据。

    现在您应该编写了所有对象、表格和数据的脚本。现在开始运行脚本和中提琴!

    【讨论】:

      【解决方案3】:

      在服务器上备份数据库,然后在 SQL Express 中本地恢复。

      编辑:如果这是您工作的一部分,那么您肯定可以让网络中的某个人为您备份..?

      【讨论】:

      • 我不认为这是一个选项,因为我无法访问在服务器上创建的备份文件。
      【解决方案4】:

      如果您可以使用 SQL Server Management Studio 登录到两台服务器(Express 和 05 服务器),那么您可以从一个数据库到另一个数据库进行数据库还原。根本不需要备份文件。

      【讨论】:

      • 如何在没有备份的情况下将数据库从一台服务器恢复到另一台服务器? (SQL Server 2008)。
      • 在两个服务器都不是 SQL Express 的情况下,您使用 sp_detach_db 和 sp_attach_db 或导入/导出数据向导 -- support.microsoft.com/kb/314546
      【解决方案5】:

      您可以使用 SSIS 的数据库复制向导,但它一点也不快。那里有 DBA 可以要求您提供备份文件吗?这可能是最快的方法。

      【讨论】:

        【解决方案6】:

        根据您使用的 SQL Server 版本,您可能会从 Microsoft 的SQL Server Database Publishing Wizard 中获得一些好处。我在复杂环境中使用此工具的结果喜忧参半,但对于大多数简单的数据库场景来说,它是一个很棒的工具。

        我遇到困难的一个例子是一个具有多个不同模式的数据库,每个模式都有自己的所有者和表之间的极端分离(不要问......)。不过,正如我所说,大多数其他情况都很好。

        【讨论】:

          【解决方案7】:

          将数据库保存为 sql 脚本

          EMS SQL 管理器(例如)允许您将数据库备份为 .sql 文件中的脚本。然后可以针对任何其他 SQL 服务器运行此文件。只需更新脚本的第一行(CREATE DATABASE ....)。

          您甚至可以对脚本进行完全参数化,以包含来自完整或过滤表的数据。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2023-04-05
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2020-02-24
            • 1970-01-01
            • 2017-07-24
            • 1970-01-01
            相关资源
            最近更新 更多