2013-02-21 27 views
9

宣言された変数でKILLステートメントを使用しようとしていますが、構文エラーです。とにかく定数を使用せず、プログラムでSPIDを変更する必要はありますか?例えば宣言された変数でKILLを使用する

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

がところでこれは単なる一例です。古い永続的なユーザー接続を取り除くために、カーソルでループ内でkillを実行する必要があります。 (質問しないでください)

答えて

13

私はこれに動的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

あなたはいつものPowerShellまたはC#を使用して、同様SMO経由でこれを行うことができます:

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

SQL Serverとそれに行くのコードの管理のこの種のものだけPowerShellとしていますSMOはうまくいき、T-SQLはときには戸惑うかもしれません。

+1

本当に短い乗車の道のりです – JVC

+0

はい、この例では、SMOを掛けてしまえば、そんなに多くすることができます。それを使用する方法(およびPowerShell)を学ぶことで、SQLサーバーの管理を簡素化および自動化する機会が広がります。 – steoleary

関連する問題