Share via


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

Siehe auch

Konzepte

Verwalten von FileTables