sp_kill_filestream_non_transacted_handles (Transact-SQL)
Consente di chiudere handle di file non transazionali per dati di tabelle FileTable.
Sintassi
sp_kill_filestream_non_transacted_handles [[ @table_name = ] ‘table_name’, [[ @handle_id = ] @handle_id]]
Argomenti
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 come 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
ID facoltativo del singolo handle da chiudere. È possibile ottenere handle_id dalla DMV sys.dm_filestream_non_transacted_handles (Transact-SQL). Ogni ID è univoco in un'istanza di SQL Server. Se si specifica handle_id, è quindi necessario fornire un valore per table_name.È possibile passare NULL come valore di handle_id per chiudere tutti gli handle non transazionali aperti per la tabella FileTable specificata da table_name. Il valore predefinito è NULL.
Valore di codice restituito
0 (esito positivo) o 1 (esito negativo)
Set di risultati
Nessuno.
Osservazioni generali
L'elemento handle_id necessario per sp_kill_filestream_non_transacted_handles non è correlato a session_id o all'unità di lavoro utilizzata in altri comandi kill.
Per ulteriori informazioni, vedere Gestione di tabelle FileTable.
Metadati
Per informazioni sugli handle di file non transazionali aperti, eseguire una query sulla DMV sys.dm_filestream_non_transacted_handles (Transact-SQL).
Sicurezza
Autorizzazioni
È necessario disporre dell'autorizzazione VIEW DATABASE STATE per ottenere handle di file dalla DMV sys.dm_FILESTREAM_non_transacted_handles 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 handle di file non transazionali per dati di tabelle 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 utilizzare uno script per ottenere un elemento 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