我正在尝试使用带有声明变量的 KILL 语句,但它给了我一个语法错误。无论如何不使用常量并以编程方式更改 SPID?
例如:
DECLARE @SPID smallint
SET @SPID = 100
Kill @SPID
顺便说一句,这只是一个例子。我需要使用光标在循环中运行 kill 以摆脱旧的持久用户连接。(不要问)
我正在尝试使用带有声明变量的 KILL 语句,但它给了我一个语法错误。无论如何不使用常量并以编程方式更改 SPID?
例如:
DECLARE @SPID smallint
SET @SPID = 100
Kill @SPID
顺便说一句,这只是一个例子。我需要使用光标在循环中运行 kill 以摆脱旧的持久用户连接。(不要问)
我认为您需要为此使用动态 SQL。请在使用动态 SQL 之前阅读此基本页面。
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有时也可以玩弄。