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
sp_kill_filestream_non_transacted_handles [
[ @table_name = ] 'table_name'
, [ [ @handle_id = ] handle_id ]
]
Argomenti
[ @table_name = ] 'table_name'
Nome della tabella in cui chiudere handle non transazionali.
È possibile passare table_name senza handle_id per chiudere tutti gli handle non transazionali aperti per la tabella FileTable.
È possibile passare NULL per il valore di table_name per chiudere tutti gli handle non transazionali aperti per tutte le tabelle FileTable nel database corrente. Il valore predefinito è NULL.
[ @handle_id = ] handle_id
ID facoltativo del singolo handle da chiudere. È possibile ottenere il handle_id dalla vista a gestione dinamica sys.dm_filestream_non_transacted_handles (Transact-SQL). Ogni ID è univoco in un'istanza di SQL Server. Se si specifica handle_id, è necessario specificare anche un valore per table_name.
È possibile passare NULL per il valore di handle_id per chiudere tutti gli handle non transazionali aperti per la tabella FileTable specificata da table_name. Il valore predefinito è NULL.
Valori del codice restituito
0
(esito positivo) o 1
(errore).
Set di risultati
Nessuno.
Osservazioni:
Il handle_id richiesto da sp_kill_filestream_non_transacted_handles
non è correlato all'unità session_id
di lavoro o usata in altri kill
comandi.
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 (Transact-SQL).For information about open nontransactional file handle, query the dynamic management view sys.dm_filestream_non_transacted_handles (Transact-SQL).
Autorizzazioni
È necessario disporre dell'autorizzazione sys.dm_filestream_non_transacted_handles
VIEW DATABASE STATE per ottenere handle di file dalla vista a gestione dinamica ed 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 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