sp_kill_filestream_non_transacted_handles (Transact-SQL)

Gilt für:SQL Server

Schließt nichttransaktionale Dateihandles an FileTable-Daten.

Transact-SQL-Syntaxkonventionen

Syntax

sp_kill_filestream_non_transacted_handles [
    [ @table_name = ] 'table_name'
    , [ [ @handle_id = ] handle_id ]
    ]

Argumente

[ @table_name = ] 'table_name'

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

Sie können table_nameohne handle_id übergeben, um alle geöffneten nichttransaktionsfreien Handles für die FileTable zu schließen.

Sie können NULL für den Wert von table_name übergeben, um alle geöffneten nichttransactionalen Handles für alle FileTables in der aktuellen Datenbank zu schließen. NULL ist der Standardwert.

[ @handle_id = ] handle_id

Die optionale ID des einzelnen Handles, der geschlossen werden soll. Sie können die handle_id aus der dynamischen Verwaltungsansicht sys.dm_filestream_non_transacted_handles (Transact-SQL) abrufen. 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.

Sie können NULL für den Wert von handle_id übergeben, um alle geöffneten nichttransaktionellen Handles für die durch table_name angegebene FileTable zu schließen. NULL ist der Standardwert.

Rückgabecodewerte

0 (Erfolg) 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 nichttransactionalen Dateihandles können Sie in der dynamischen Verwaltungsansicht sys.dm_filestream_non_transacted_handles (Transact-SQL) abfragen.

Berechtigungen

Sie müssen über die BERECHTIGUNG "DATENBANKSTATUS ANZEIGEN" verfügen, um Dateihandles aus der sys.dm_filestream_non_transacted_handles dynamischen Verwaltungsansicht abzurufen und 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 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