sp_kill_filestream_non_transacted_handles (Transact-SQL)
Область применения: SQL Server
Закрывает нетрансляционные дескрипторы файлов к данным FileTable.
Соглашения о синтаксисе Transact-SQL
Синтаксис
sp_kill_filestream_non_transacted_handles [
[ @table_name = ] 'table_name'
, [ [ @handle_id = ] handle_id ]
]
Аргументы
[ @table_name = ] 'table_name'
Имя таблицы, в которой закрываются нетрансляционные дескрипторы.
Вы можете передать table_name без handle_id , чтобы закрыть все открытые нетрансляционные дескрипторы для FileTable.
Можно передать NULL
значение table_name , чтобы закрыть все открытые нетрансляционные дескрипторы для всех файловых таблицы в текущей базе данных. По умолчанию устанавливается значение 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
необходимо иметь разрешение VIEW DATABASE STATE.
Примеры
В следующих примерах показано, как вызывать 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