使用软件更新同步存储过程

时间:2013-09-25 22:11:13

标签: sql sql-server stored-procedures sync software-distribution

我开发了一个在连接到集中式数据库的多台计算机上运行的软件系统。

此时,所有SQL查询都与应用程序源代码内联。我想开始将它们迁移到存储过程中。

如果我需要更改需要更改软件的存储过程,我该如何同步更新?例如:我更改了sp_SelectRecordByID并发布了该软件的更新。所有正在运行的软件版本将立即运行sp_SelectRecordByID时收到错误。一旦它们崩溃并收到更新,一切都很好。

如何阻止此情况?

我想出了一些想法:

  • 制作一个新的存储过程,让旧的存储过程慢慢消失
  • 将版本检查添加到存储过程。这是非常不受欢迎的。

是否有更有效的方法,还是我坚持使用这些选项?

2 个答案:

答案 0 :(得分:1)

据我所知,这更像是一个部署问题。我看到它的方式有几种选择。

如果您可以同时(或至少接近)部署SQL Server和应用程序更改,那么您可以同时发布两者,但我想这取决于系统。

如果没有应用程序崩溃的风险,你能在周末这样做吗?

您是否一次将新应用程序版本部署到所有用户?如果是,那么您可以先创建新的SP,部署新的应用程序版本,然后删除旧的SP。

无论如何,希望这会有所帮助。如果没有,请提供有关服务器数量,客户端应用程序数量等的更多详细信息......

答案 1 :(得分:0)

您使用的是Visual Studio吗?您可以将存储过程保存在数据库项目中,并以这种方式进行版本控制。

此处有更多信息:http://msdn.microsoft.com/en-us/library/xee70aty.aspx