sys.sp_kill_filestream_non_transacted_handles (Transact-SQL)

Aplica-se:SQL Server

Fecha identificadores de arquivo não transacionais para dados FileTable.

Convenções de sintaxe de Transact-SQL

Sintaxe

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

Argumentos

[ @table_name = ] N'table_name'

O nome da tabela na qual fechar identificadores não transacionais.

Você pode passar @table_name sem @handle_id fechar todos os handles não transacionais abertos para a FileTable.

Você pode passar NULL pelo valor de @table_name para fechar todos os handles abertos não transacionais de todas as FileTables no banco de dados atual. NULL é o valor padrão.

@handle_id [ = ] handle_id

A ID opcional do identificador individual a ser fechado. Você pode obter a @handle_id pela visão sys.dm_filestream_non_transacted_handles de gerenciamento dinâmico. Cada ID é exclusiva em uma instância do SQL Server. Se você especificar @handle_id, também precisa fornecer um valor para @table_name.

Você pode passar NULL pelo valor de @handle_id para fechar todos os handles não transacionais abertos para o FileTable especificado por @table_name. NULL é o valor padrão.

Valores do código de retorno

0 (sucesso) ou 1 (falha).

Conjunto de resultados

Nenhum.

Comentários

O .

Para obter mais informações, consulte Gerenciar FileTables.

Metadados

Para obter informações sobre identificadores de arquivos não transacionais abertos, consulte a exibição de gerenciamento dinâmico sys.dm_filestream_non_transacted_handles.

Permissões

Você precisa ter VIEWDATABASE permissão STATE para obter os handles de arquivo da sys.dm_filestream_non_transacted_handles visualização dinâmica de gerenciamento e para executar sp_kill_filestream_non_transacted_handles.

Exemplos

Os exemplos a seguir mostram como chamar sp_kill_filestream_non_transacted_handles para fechar identificadores de arquivo não transacionais para dados 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;

O exemplo a seguir mostra como usar um script para obter um handle_id e fechá-lo.

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