sys.sp_kill_filestream_non_transacted_handles (Transact-SQL)

Si applica a:SQL Server

Chiude gli handle di file non transazionali ai dati della tabella FileTable.

Convenzioni relative alla sintassi Transact-SQL

Sintassi

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

Argomenti

[ @table_name = ] N'table_name'

Nome della tabella in cui chiudere handle non transazionali.

Puoi passare @table_name senza @handle_id di chiudere tutti i handle non transazionali aperti per la FileTable.

Puoi fare passare NULL per il valore di @table_name chiudere tutti i handle non transazionali aperti per tutte le FileTable nel database corrente. NULL è il valore predefinito.

[ @handle_id = ] handle_id

ID facoltativo del singolo handle da chiudere. Puoi ottenere il @handle_id dalla vista di gestione dinamica sys.dm_filestream_non_transacted_handles . Ogni ID è univoco in un'istanza di SQL Server. Se specifichi @handle_id, allora devi anche fornire un valore per @table_name.

Puoi passare NULL per il valore di @handle_id per chiudere tutti i handle non transazionali aperti per il FileTable specificato da @table_name. NULL è il valore predefinito.

Valori del codice restituito

0 (esito positivo) o 1 (errore).

Set di risultati

Nessuno.

Osservazioni:

Il

Per altre informazioni, vedere Gestire le tabelle FileTable.

Metadati UFX

Per informazioni sugli handle di file non transazionali aperti, eseguire una query sulla vista a gestione dinamica sys.dm_filestream_non_transacted_handles.

Autorizzazioni

Devi avere VIEWDATABASE il permesso STATE per ottenere i file handles dalla sys.dm_filestream_non_transacted_handles vista di gestione dinamica e per eseguire sp_kill_filestream_non_transacted_handles.

Esempi

Negli esempi seguenti viene illustrato come chiamare sp_kill_filestream_non_transacted_handles per chiudere gli handle di file non transazionali per i dati fileTable.

-- 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;

Nell'esempio seguente viene illustrato come usare uno script per ottenere un handle_id e chiuderlo.

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