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
sp_kill_filestream_non_transacted_handles [
[ @table_name = ] 'table_name'
, [ [ @handle_id = ] handle_id ]
]
Argumentos
[ @table_name = ] 'table_name'
O nome da tabela na qual fechar identificadores não transacionais.
Você pode passar table_name sem handle_id para fechar todos os identificadores não transacionais abertos para o FileTable.
Você pode passar NULL
o valor de table_name para fechar todos os identificadores não transacionais abertos para 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 o handle_id na exibição de gerenciamento dinâmico sys.dm_filestream_non_transacted_handles . Cada ID é exclusiva em uma instância do SQL Server. Se você especificar handle_id, também precisará fornecer um valor para table_name.
Você pode passar NULL
o valor de handle_id para fechar todos os identificadores 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 handle_id exigido por sp_kill_filestream_non_transacted_handles
não está relacionado à session_id
unidade de trabalho ou usada em outros kill
comandos.
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ê deve ter a permissão VIEW DATABASE STATE para obter identificadores de arquivo da sys.dm_filestream_non_transacted_handles
exibição de gerenciamento dinâmico e executar sp_kill_filestream_non_transacted_handles
o .
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 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