sp_kill_filestream_non_transacted_handles (Transact-SQL)
Schließt nicht transaktionale Dateihandles für FileTable-Daten.
Syntax
sp_kill_filestream_non_transacted_handles [[ @table_name = ] ‘table_name’, [[ @handle_id = ] @handle_id]]
Argumente
table_name
Der Name der Tabelle, in der nicht transaktionale Handles zu schließen sind.Sie können table_name ohne handle_id übergeben, um alle geöffneten nicht transaktionalen Handles für die FileTable zu schließen.
Sie können NULL für den Wert von table_name übergeben, um alle geöffneten nicht transaktionalen Handles für alle FileTables in der aktuellen Datenbank zu schließen. Der Standardwert ist NULL.
handle_id
Die optionale ID des einzelnen Handles, der geschlossen werden soll. Sie können die handle_id aus der dynamischen sys.dm_filestream_non_transacted_handles (Transact-SQL)-Verwaltungssicht abrufen. Jede ID ist in einer SQL Server-Instanz eindeutig. Wenn Sie die handle_id angeben, müssen Sie auch einen Wert für table_name angeben.Sie können NULL für den Wert von handle_id übergeben, um alle geöffneten nicht transaktionalen Handles für die FileTable zu schließen, die vom table_name-Wert angegeben wird. Der Standardwert ist NULL.
Rückgabecodewert
0 (Erfolg) oder 1 (Fehler)
Resultset
Keine
Allgemeine Hinweise
Die handle_id, die für sp_kill_filestream_non_transacted_handles erforderlich ist, hängt nicht mit der session_id oder der in anderen kill-Befehlen verwendeten Arbeitseinheit zusammen.
Weitere Informationen finden Sie unter Verwalten von FileTables.
Metadaten
Fragen Sie die dynamische Verwaltungssicht sys.dm_filestream_non_transacted_handles (Transact-SQL) ab, um Informationen zu geöffneten nicht transaktionalen Dateihandles zu erhalten.
Sicherheit
Berechtigungen
Sie müssen über die VIEW DATABASE STATE-Berechtigung verfügen, um Dateihandles aus der dynamischen Verwaltungssicht sys.dm_FILESTREAM_non_transacted_handles abzurufen und sp_kill_filestream_non_transacted_handles auszuführen.
Beispiele
In den folgenden Beispielen wird gezeigt, wie sp_kill_filestream_non_transacted_handles aufgerufen wird, um nicht transaktionale Dateihandles für FileTable-Daten zu schließen.
-- Close all open handles in the current database.
sp_kill_filestream_non_transacted_handles
-- Close all open handles in myFileTable.
sp_kill_filestream_non_transacted_handles @table_name = ’myFileTable’
-- Close a specific handle in myFileTable.
sp_kill_filestream_non_transacted_handles @table_name = ’myFileTable’, @handle_id = 0xFFFAAADD
Im folgenden Beispiel wird gezeigt, wie ein Skript verwendet wird, um eine handle_id abzurufen und zu schließen.
DECLARE @handle_id varbinary(16);
DECLARE @table_name sysname;
SELECT TOP 1 @handle_id = handle_id, @table_name = Object_name(table_id)
FROM sys.dm_FILESTREAM_non_transacted_handles;
EXEC sp_kill_filestream_non_transacted_handles @dbname, @table_name, @handle_id;
GO