Condividi tramite


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

Vedere anche

Concetti

Gestione di tabelle FileTable