Ang*_*ker 8 .net c# transactions sql-server-2005 .net-3.5
可能重复:
SQL Server和事务中间的连接丢失
我有一个.NET 3.5客户端应用程序,它启动MS SQL Server 2005上长时间运行(5-10米)的存储过程.存储的过程开始于BEGIN TRAN和结束COMMIT TRAN.
如果我拉动工作站上的插头,存储过程会发生什么,它是否完成运行?它在所有情况下都能完成运行吗?或者与工作站的连接丢失会导致数据库中止存储过程吗?
编辑:工作站和SQL Server在不同的框上.
工作站断电不一定会导致 SP 中止,但很可能会导致事务回滚。
我说“可以”是因为它确实取决于客户端何时失去权力。如果网络连接丢失到像这样的“黑洞”中,服务器将不会立即收到任何断开连接发生的通知;它必须依赖 TCP 最终告诉它连接已死,仅仅是因为对方在 X 时间内没有响应任何内容。
这与显式地“正常”地断开客户端应用程序的连接不同;在这种情况下,客户端会显式关闭连接(如果适用),因此 SQL 会立即知道客户端已消失。
| 归档时间: |
|
| 查看次数: |
276 次 |
| 最近记录: |