sp_kill_filestream_non_transacted_handles (Transact-SQL)
適用於:SQL Server
關閉 FileTable 資料的非交易檔句柄。
語法
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 的值,關閉目前資料庫中所有 FileTable 的所有開啟非交易句柄。 NULL
為預設值。
[ @handle_id = ] handle_id
要關閉之個別句柄的選擇性標識碼。 您可以從sys.dm_filestream_non_transacted_handles動態管理檢視取得handle_id。 每個標識碼在 SQL Server 實例中都是唯一的。 如果您指定handle_id,則也必須提供table_name的值。
您可以傳遞 NULL
handle_id 的值,以關閉 table_name 所指定之 FileTable 的所有開啟非交易句柄。 NULL
為預設值。
傳回碼值
0
(成功) 或 1
(失敗)。
結果集
無。
備註
所需的handle_id與在其他kill
命令中使用的 或工作單位無關session_id
。 sp_kill_filestream_non_transacted_handles
如需詳細資訊,請參閱 管理作業步驟。
中繼資料
如需開啟非交易檔句柄的相關信息,請查詢動態管理檢視 sys.dm_filestream_non_transacted_handles。
權限
您必須具有 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