我试图使用声明变量的KILL语句,但它给我一个语法错误。反正有没有使用常量并以编程方式更改SPID?使用声明变量的KILL
例如:
DECLARE @SPID smallint
SET @SPID = 100
Kill @SPID
顺便说一句,这只是一个例子。我需要使用游标在循环中运行kill来摆脱旧的持久用户连接。 (别问)
我试图使用声明变量的KILL语句,但它给我一个语法错误。反正有没有使用常量并以编程方式更改SPID?使用声明变量的KILL
例如:
DECLARE @SPID smallint
SET @SPID = 100
Kill @SPID
顺便说一句,这只是一个例子。我需要使用游标在循环中运行kill来摆脱旧的持久用户连接。 (别问)
我认为你将需要动态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)
你总是可以通过SMO做到这一点为好,使用PowerShell或C#:
这种SQL Server和连同它的代码管理正是PowerShell和SMO擅长,并且T-SQL有时可能会很烦躁。
这是一段很短的路程 – JVC 2013-02-21 19:48:47
是的,在这个例子中,一旦你掌握了它,你可以用SMO做这么多事情。学习如何使用它(和PowerShell)为SQL服务器管理的精简和自动化开辟了一大堆机会。 – steoleary 2013-02-21 20:18:49