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