다음을 통해 공유


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

비트랜잭션 핸들을 닫을 테이블의 이름입니다.

handle_id 없이 table_name 전달하여 FileTable에 대해 열려 있는 모든 비정상 핸들을 닫을 수 있습니다.

table_name 값을 전달 NULL 하여 현재 데이터베이스의 모든 FileTable에 대해 열려 있는 모든 비정상 핸들을 닫을 수 있습니다. 기본값은 NULL입니다.

[ @handle_id = ] handle_id

닫을 개별 핸들의 선택적 ID입니다. sys.dm_filestream_non_transacted_handles 동적 관리 보기에서 handle_id 가져올 수 있습니다. 각 ID는 SQL Server 인스턴스에서 고유합니다. handle_id 지정하는 경우 table_name도 제공해야 합니다.

handle_id 값을 전달 NULL 하여 table_name 지정한 FileTable에 대해 열려 있는 모든 비정상 핸들을 닫을 수 있습니다. 기본값은 NULL입니다.

반환 코드 값

0(성공) 또는 1(실패).

결과 집합

없음.

설명

필요한 sp_kill_filestream_non_transacted_handles handle_id 다른 kill 명령에 사용되는 작업 단위 또는 단위와 관련이 session_id 없습니다.

자세한 내용은 FileTables 관리를 참조하세요.

메타데이터

열려 있는 비트랜잭션 파일 핸들에 대한 자세한 내용은 동적 관리 뷰 sys.dm_filestream_non_transacted_handles 쿼리합니다.

사용 권한

동적 관리 뷰에서 sys.dm_filestream_non_transacted_handles 파일 핸들을 가져오고 실행 sp_kill_filestream_non_transacted_handles하려면 VIEW DATABASE STATE 권한이 있어야 합니다.

예제

다음 예제에서는 FileTable 데이터에 대한 비트랜잭션 파일 핸들을 닫기 위해 호출 sp_kill_filestream_non_transacted_handles 하는 방법을 보여 줍니다.

-- 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