将KILL与声明的变量一起使用

时间:2013-02-21 19:32:40

标签: sql-server tsql

我正在尝试使用带有声明变量的KILL语句,但它给了我一个语法错误。无论如何不使用常量并以编程方式更改SPID?

例如:

DECLARE @SPID smallint
SET @SPID = 100
Kill @SPID

BTW这只是一个例子。我需要在带有游标的循环中运行kill以摆脱旧的持久用户连接。 (不要问)

2 个答案:

答案 0 :(得分:16)

我认为你需要动态SQL。请在使用动态SQL执行任何操作之前阅读this essential page

DECLARE @SPID smallint
DECLARE @SQL nvarchar(1000)

SET @SPID = 100

SET @SQL = 'KILL ' + CAST(@SPID as varchar(4))

EXEC (@SQL)

答案 1 :(得分:1)

你总是可以通过SMO,使用powershell或C#来实现这一点:

http://msdn.microsoft.com/en-gb/library/microsoft.sqlserver.management.smo.server.killprocess(v=sql.110).aspx

这种对sql server的管理以及随之而来的代码就是PowerShell和SMO所擅长的,而T-SQL有时可能会很繁琐。