sys.sp_kill_filestream_non_transacted_handles (Transact-SQL)

Gilt für:SQL Server

Schließt nichttransaktionale Dateihandles an FileTable-Daten.

Transact-SQL-Syntaxkonventionen

Syntax

sys.sp_kill_filestream_non_transacted_handles
    [ [ @table_name = ] N'table_name' ]
    [ , [ @handle_id = ] handle_id ]
[ ; ]

Argumente

[ @table_name = ] N'table_name'

Der Name der Tabelle, in der nichttransaktionale Handles geschlossen werden sollen.

Du kannst @table_name weitergeben, ohne @handle_id alle offenen nicht-transaktionalen Handles für die FileTable schließen zu müssen.

Man kann den Wert @table_name durchgebenNULL, um alle offenen nicht-transaktionalen Handles für alle FileTables in der aktuellen Datenbank zu schließen. Der Standardwert lautet NULL.

[ @handle_id = ] handle_id

Die optionale ID des einzelnen Handles, der geschlossen werden soll. Sie können die @handle_id aus der sys.dm_filestream_non_transacted_handles dynamischen Managementansicht erhalten. Jede ID ist in einer SQL Server-Instanz eindeutig. Wenn Sie @handle_id angeben, müssen Sie auch einen Wert für @table_name angeben.

Man kann den Wert von @handle_id durchgehenNULL, um alle offenen nicht-transaktionalen Handles für die von @table_name angegebene Dateitabelle zu schließen. Der Standardwert lautet NULL.

Rückgabecodewerte

0 (erfolgreich) oder 1 Fehler.

Resultset

Keine.

Hinweise

Die handle_id , die sp_kill_filestream_non_transacted_handles erforderlich ist, bezieht sich nicht auf die Arbeitseinheit, die session_id in anderen kill Befehlen verwendet wird.

Weitere Informationen finden Sie unter Verwalten von FileTables.

Metadaten

Informationen zu geöffneten nichttransaktionellen Dateihandles können Sie in der dynamischen Verwaltungsansicht sys.dm_filestream_non_transacted_handles abfragen.

Berechtigungen

Du musst die STATE-Berechtigung haben VIEWDATABASE , um Datei-Handles aus der dynamischen sys.dm_filestream_non_transacted_handles Management-Ansicht zu erhalten und um auszuführen sp_kill_filestream_non_transacted_handles.

Beispiele

Die folgenden Beispiele zeigen, wie Sie aufrufen sp_kill_filestream_non_transacted_handles , um nichttransaktionale 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;

Das folgende Beispiel zeigt, wie Sie mithilfe eines Skripts eine handle_id abrufen und schließen.

DECLARE @handle_id AS VARBINARY (16);
DECLARE @table_name AS SYSNAME;

SELECT TOP 1 @handle_id = handle_id,
    @table_name = Object_name(table_id)
FROM sys.dm_FILESTREAM_non_transacted_handles;

EXECUTE sp_kill_filestream_non_transacted_handles
    @dbname,
    @table_name,
    @handle_id;
GO