首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在两个数据库之间同步存储过程?

在两个数据库之间同步存储过程?
EN

Stack Overflow用户
提问于 2009-06-03 15:08:09
回答 5查看 2.7K关注 0票数 1

对于我的团队正在开发的一个应用程序,我已经创建了一个数据库副本,以便独立处理系统的一些可能功能。在此过程中,我更改了一些存储过程。同时,团队的其他成员继续在另一个数据库上工作,并更改其中一些存储过程。

代码仍然调用相同的SP名称,因此我需要知道哪些存储过程发生了更改,以便进行正确的修复。有没有办法从一个数据库中提取所有存储过程,并将其与另一个数据库中具有相同名称的SP进行匹配,以查看其中哪些不同(除了USESDB1和使用DB2的区别)。

谢谢

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-06-03 16:08:58

大家好。我考虑了所有的回复,下载新软件对我来说不是一个选择。在进一步的研究中,这就是我对这个解决方案的看法。

我简单地查询了两个数据库,以获得所有存储过程及其最近的修改日期的列表。然后,我比较了它们的更改日期,并手动查看了它们的源代码,然后进行了更改。源代码控制肯定会对此有所帮助,但有时事情超出了我的控制范围。

获取所有SP名称列表并更改日期的代码如下所示。

代码语言:javascript
运行
复制
select ROUTINE_NAME, LAST_ALTERED
from information_schema.routines
WHERE
Routine_Type='procedure'
AND specific_Catalog='DATABASE_NAME' ORDER BY LAST_ALTERED
票数 0
EN

Stack Overflow用户

发布于 2009-06-03 15:15:41

我建议购买(或者只是评估)一个专用的工具来实现这一点。市场上有许多产品,包括:Apex SQL DiffRedgate SQL Compare

我使用Apex SQL Diff已经有很多年了,我会全心全意地推荐它。

票数 5
EN

Stack Overflow用户

发布于 2009-06-03 15:12:54

哦,这是你应该早点考虑的事情。一种方法是:将SP代码提取到文件中,然后使用Windiff之类的工具。

或者,如果您必须在数据库中执行此操作,请查看these tools

将来,将您的SP脚本放入源代码控制中。您可以对更改进行分支和合并。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/945325

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档