MS-SQL: KILL in Prozedur

Hallo,

ich versuche mich aktuell an MS-SQL und habe eine Prozedur geschrieben, die bestimmte User-Sessions abschiessen soll. Die Namen der Personen sind in einer Textdatei abgelegt, dazu existiert eine Parameterdatei.

Hier die Prozedur:

create procedure USER_SPID (
@SPID_V smallint = 0,
@Ende_V char(5) =‚ENDE!‘)
AS
DECLARE LogonCursor CURSOR FAST_FORWARD FOR
SELECT SPID from sys.sysprocesses where UPPER(loginame) in (SELECT * FROM OPENROWSET(BULK N’C:\TEST.txt’,
FORMATFILE =‚C:\values.txt‘) AS name);

OPEN LogonCursor

FETCH NEXT FROM LogonCursor INTO @SPID_V

WHILE @@FETCH_STATUS = 0
BEGIN

select @SPID_V

FETCH NEXT FROM LogonCursor INTO @SPID_V
END

CLOSE LogonCursor
DEALLOCATE LogonCursor

select @Ende_V

An dem Punkt, wo jetzt noch das „select @SPID_V“ steht, soll nun der KILL-Befehl ausgeführt werden, aber hier komme ich nicht weiter.

Kann ich den KILL Befehl maskieren, oder kommt der mit Variablenübergabe nicht klar, oder… ?

Danke und Grüße

Chris

Hab’s schon.

man muss den Befehl in eine Variable schreiben und diese dann mit sp_executesql ausführen.

Gruß

Chris