2016-11-07 99 views
1

我有一个假设发送电子邮件的触发器,最近知道这是一个坏主意,它锁定了我的数据库上的一个进程。当我杀死这个进程时,它现在被卡住了。我知道我只能通过服务器重启来解决这个问题。如何在不回滚的情况下杀死SQL进程

现在我想解决的是同一个触发器已经锁定另一个表,但我还没有杀死该进程。我听说有一种方法可以在不回滚的情况下杀死一个进程,但我找不到任何信息。它位于开发数据库中,所以我们不担心错误的数据。这是Transact-SQL

+1

杀死中间交易听起来像是一个可怕的想法,因为他们被归类在一起是有原因的。或者我错过了这一点? – Fallenreaper

+1

如果你杀死的进程处于交易中,它将尝试回滚。我不认为你可以绕过它。 –

+0

所以你想中断电子邮件的发送,以便事务继续进行而没有错误(例如电子邮件已发送)? –

回答

2

如果您杀死的进程处于中间事务中,它将尝试将其回滚。你无法绕过它。