【问题标题】:Transfer objects and data between SQL 2005 databases在 SQL 2005 数据库之间传输对象和数据
【发布时间】:2009-05-11 10:13:38
【问题描述】:

我想在两台服务器(Dev box 和 Live box)之间传输对象(表、存储过程、数据等),并且想知道这样做的最佳方法是什么?

在 SQL Server 2000 中,您可以在数据库之间传输所有对象和数据。现在只有“复制数据”和“编写查询”。第二个选项哪里去了?

这两个数据库都是 SQL 2005(带有 Service Pack 2)。传输时,主键和关系以及与 ASP.NET 身份验证有关的所有视图和其他相关数据应保持不变。集成服务未在实时服务器上设置,因此不是一个选项。

我能想到的唯一方法是生成脚本,然后在另一台服务器上运行它们,但这比旧方法更耗时(我现在就是这样做的)。

【问题讨论】:

    标签: sql-server data-migration


    【解决方案1】:

    如果你愿意付费,我推荐Red Gate的Sql Compare和Sql Data Compare。

    非常有用的产品。

    【讨论】:

      【解决方案2】:

      数据库发布向导

      http://sqlhost.codeplex.com/

      【讨论】:

        【解决方案3】:

        很遗憾您没有安装集成服务,因为您可以使用“复制数据库向导”。我相信这会创建一个在目标服务器上运行的 SSIS 包。

        如果你有 Visual Studio 2008,你可以试试数据比较和架构比较工具。

        【讨论】:

          【解决方案4】:

          您最好的选择可能是架构和数据比较工具; http://www.mssqltips.com/tip.asp?tip=1069 列出了各种工具

          【讨论】:

            【解决方案5】:

            您没有提及您的应用程序的范围或开发人员的数量等,因此很难提出任何建议。但是,如果您的开发由多个并发项目和多个开发人员组成,并且您正在从开发复制到生产,我会推荐如下内容:

            • 实现 3 个“领域”:开发、质量保证、生产。
            • 在 dev 中开发所有更改,在脚本中创建所有更改,使用 cvs 或 sourcesafe 之类的工具来跟踪所有对象的更改
            • 当更改准备就绪并经过测试时,在 qa 中运行您的脚本,这将验证您的脚本和安装过程
            • 准备好运行您的脚本并在生产环境中安装过程

            注意:qa 与生产几乎相同,除了应用更改等待其最终生产安装。 dev 包含任何正在进行的更改、额外的调试垃圾等。您可以定期将生产备份恢复到 qa 和 dev 以重新同步它们(只需确保所有开发人员都知道这一点并相应地计划),因为(取决于数量开发人员)他们(生产、质量保证和开发)将随着时间的推移开始产生更多差异。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2012-08-30
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2012-08-21
              • 1970-01-01
              相关资源
              最近更新 更多