Поделиться через


sp_kill_filestream_non_transacted_handles (Transact-SQL)

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

Синтаксис

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

Аргументы

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

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

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

  • handle_id
    Дополнительный код отдельного дескриптора, который будет закрыт. Можно получить handle_id из динамического административного представления sys.dm_filestream_non_transacted_handles (Transact-SQL). Каждый идентификатор уникален в пределах экземпляра 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 (Transact-SQL).

Безопасность

Разрешения

Необходимо иметь разрешение VIEW DATABASE STATE для получения дескрипторов файлов из динамического административного представления sys.dm_FILESTREAM_non_transacted_handles для запуска sp_kill_filestream_non_transacted_handles.

Примеры

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

См. также

Основные понятия

Управление таблицами FileTable