我試圖使用聲明變量的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