Prozesse vom MSSQL beenden

Das Skript beendet alle Prozesse einer Anwendung für einen bestimmten Benutzer. Dazu wird die Systemtabelle sysprocesses abgefragt und für jede gefundene PID der Befehl kill ausgeführt.

[code lang=“sql“]DECLARE @spid int
DECLARE CUR CURSOR FOR
SELECT spid FROM sysprocesses
WHERE program_name = ‚Name der Anwendung‘
AND loginame = ‚Name des SQL Benutzers‘
OPEN CUR
FETCH NEXT FROM CUR INTO @spid
WHILE @@FETCH_STATUS = 0
BEGIN
EXECUTE (‚KILL ‚ + @spid)
FETCH NEXT FROM CUR INTO @spid
END
CLOSE CUR
DEALLOCATE CUR[/code]

Skript Debugging

Die Optionen -x und -v helfen innerhalb der Bourne-Shell die Variablen-Ersetzungen zu kontrollieren. Mit /bin/sh -x -v script_xyz.sh kann der Skriptstart bei Bedarf variiert werden. Innerhalb eines Skripts können die Optionen mit „-“ eingeschaltet und mit „+“ ausgeschaltet werden (z.B. set -x und set +x).