在两个sql服务器之间运行同步命令

时间:2012-09-07 07:17:27

标签: sql sql-server sql-server-2008

我正在从我的应用程序运行server1上的存储过程。存储过程执行大量操作并使用过程的结果在server2上填充表。

我正在使用链接服务器来完成此任务。

当存储过程完成运行时,应用程序继续并尝试对存储过程的结果进行一些操作。

我的问题是存储过程的结果尚未完全插入到表中,因此对表的操作失败。

所以我的问题是。是否有可能确保链接服务器上的插入是同步完成的?我希望在链接服务器上的表实际完成之前不会返回存储过程。

2 个答案:

答案 0 :(得分:0)

您可以使用第一个过程的输出参数。在第二台服务器上创建表时,输出参数值将返回到您的应用程序并指示操作已准备就绪。

如果事情很困难,那么您可以尝试设置商店程序的不同隔离级别:

http://msdn.microsoft.com/en-us/library/ms173763.aspx

答案 1 :(得分:0)

我找到了这种奇怪行为的原因。在调试期间添加了一行代码,在将同一个表中的数据写入链接服务器之前,在临时mem表上执行了select操作。

当运行select语句时,控件被返回给我的应用程序,同时存储过程继续运行。我想存储过程从一开始就是同步运行。