sp_kill_filestream_non_transacted_handles (Transact-SQL)

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

Sintaxe

sp_kill_filestream_non_transacted_handles [[ @table_name = ] ‘table_name’, [[ @handle_id = ] @handle_id]]

Argumentos

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

    É possível passar table_name sem handle_id para fechar todos os identificadores não transacionais para a FileTable.

    É possível passar NULL para o valor da table_name para fechar todos os identificadores não transacionais para todas as FileTables no banco de dados atual. O valor padrão é NULL.

  • handle_id
    A ID opcional do identificador individual a ser fechado. Você pode obter o handle_id da exibição de gerenciamento dinâmico sys.dm_filestream_non_transacted_handles (Transact-SQL). Cada ID é exclusiva em uma instância do SQL Server. Se você especificar handle_id, também precisará fornecer um valor para table_name.

    É possível passar NULL para o valor de handle_id para fechar todos os identificadores não transacionais da FileTable especificada por table_name. O valor padrão é NULL.

Valor do código de retorno

0 (êxito) ou 1 (falha)

Conjunto de resultados

Nenhum.

Comentários gerais

O handle_id exigido por sp_kill_filestream_non_transacted_handles não está relacionado ao session_id ou unidade de trabalho usado em outros comandos kill.

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 (Transact-SQL).

Segurança

Permissões

Você deve ter a permissão VIEW DATABASE STATE para obter identificadores de arquivos da exibição de gerenciamento dinâmico sys.dm_FILESTREAM_non_transacted_handles 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 arquivos não transacionais para obter dados de 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 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

Consulte também

Conceitos

Gerenciar FileTables