sys.sp_kill_filestream_non_transacted_handles (Transact-SQL)

Область применения:SQL Server

Закрывает нетрансляционные дескрипторы файлов к данным FileTable.

Соглашения о синтаксисе Transact-SQL

Синтаксис

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

Аргументы

[ @table_name = ] N'table_name'

Имя таблицы, в которой закрываются нетрансляционные дескрипторы.

Вы можете передавать @table_name без @handle_id закрыть все открытые нетранзакционные деки для FileTable.

Вы можете использовать NULL значение @table_name , чтобы закрыть все открытые нетранзакционные дескрипторы всех FileTables в текущей базе данных. По умолчанию устанавливается значение NULL.

[ @handle_id = ] handle_id

Дополнительный код отдельного дескриптора, который будет закрыт. Вы можете получить @handle_id с точки зрения sys.dm_filestream_non_transacted_handles динамического управления. Каждый идентификатор является уникальным в экземпляре SQL Server. Если вы указываете @handle_id, то также нужно указать значение для @table_name.

Вы можете использовать NULL значение @handle_id , чтобы закрыть все открытые нетранзакционные дескрипторы для FileTable, указанной @table_name. По умолчанию устанавливается значение NULL.

Значения кода возврата

0 (успешно) или 1 (сбой).

Результирующий набор

Нет.

Замечания

Handle_id, необходимые для sp_kill_filestream_non_transacted_handles работы, не связаны с session_id единицей работы, используемой в других kill командах.

Дополнительные сведения см. в статье Управление таблицами FileTable.

Метаданные

Для получения сведений об открытых нетрансляционных дескрипторах файлов запросите динамическое представление управления sys.dm_filestream_non_transacted_handles.

Разрешения

Для получения дескрипторов файлов из sys.dm_filestream_non_transacted_handles динамического управления и sp_kill_filestream_non_transacted_handlesзапуска .VIEWDATABASE

Примеры

В следующих примерах показано, как вызывать sp_kill_filestream_non_transacted_handles нетрансляционные дескрипторы файлов для данных 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;

В следующем примере показано, как использовать скрипт для получения handle_id и закрытия.

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