6106: Die Prozess-ID %1! ist keine aktive Prozess-ID.
Fehlermeldung:
Meldung 6106, Ebene 16, Status 1, Zeile 1
Die Prozess-ID %1! ist keine aktive Prozess-ID.
Ebene:
16.
Beschreibung:
Diese Fehlermeldung erscheint, wenn versucht wird eine inaktive Prozess-ID durch KILL zu terminieren.
Auswirkungen:
Das SQL Statement kann zwar geparst werden, jedoch zur Laufzeit wird der Fehler ausgelöst.
Behebung:
Fehler der Ebene 16 sind Fehler, die vom Anwender hervorgerufen werden. Sie können und müssen vom Anwender korrigiert werden. Die inaktive Prozess-ID muss korrigiert werden.
Versionen:
Alle Versionen von SQL Server.
Beispiele:
CREATE TABLE #t
(
spid INT NULL
, ecid INT NULL
, status SYSNAME NULL
, loginname SYSNAME NULL
, hostname SYSNAME NULL
, blk INT NULL
, dbname SYSNAME NULL
, cmd NVARCHAR(1000) NULL
, request_id INT NULL
)
INSERT INTO #t EXEC sp_who
DECLARE @max_spid INT
DECLARE @stmt NVARCHAR(100)
SELECT @max_spid = MAX(spid)
FROM #t
SET @stmt = 'KILL ' + CAST(@max_spid +1 AS NVARCHAR(10))
EXEC sp_ExecuteSQL @stmt
DROP TABLE #t
Anmerkungen:
Im obigen Beispiel wird das Ergebnis von sp_who in eine temporäre Tabelle geleitet. Die MAX(spid) wird um 1 erhöht, um sicherzustellen, daß stets eine inaktive Prozes-ID daraus resultiert. Diese kann nicht durch KILL terminiert werden und löst den Fehler aus.