0

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

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

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

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

4

5 回答 5

2

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

非常有用的产品。

于 2009-05-11T10:24:38.620 回答
0

数据库发布向导

http://sqlhost.codeplex.com/

于 2009-05-11T10:15:43.547 回答
0

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

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

于 2009-05-11T10:22:17.767 回答
0

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

于 2009-05-11T10:24:16.857 回答
0

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

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

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

于 2009-05-11T13:34:25.300 回答