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_name ohne handle_id übergeben, um alle geöffneten nichttransaktionsfreien Handles für die FileTable zu schließen.
Sie können den Wert von table_name übergebenNULL
, um alle geöffneten nichttransactionalen 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 Verwaltungsansicht 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 den Wert von handle_id übergebenNULL
, um alle geöffneten nichttransaktionalen Handles für die durch table_name angegebene FileTable 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
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