共用方式為


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
    關閉非交易式控制代碼所在之資料表的名稱。

    您可以在不指定 handle_id 的情況下傳遞 table_name,關閉 FileTable 所有開啟的非交易式控制代碼。

    您可以傳遞 NULL 做為 table_name 的值,關閉目前資料庫中所有 FileTable 的所有開啟的非交易式控制代碼。 NULL 是預設值。

  • handle_id
    要關閉之個別控制代碼的選擇性識別碼。 您可以從 sys.dm_filestream_non_transacted_handles (Transact-SQL) 動態管理檢視中取得 handle_id。 在 SQL Server 執行個體中,每個識別碼都是唯一的。 如果您指定 handle_id,同時也必須提供 table_name 的值。

    您可以傳遞 NULL 做為 handle_id 的值,關閉 table_name 所指定之 FileTable 的所有開啟的非交易式控制代碼。 NULL 是預設值。

傳回碼值

0 (成功) 或 1 (失敗)

結果集

無。

一般備註

sp_kill_filestream_non_transacted_handles 所需的 handle_id 與其他 kill 命令中所用的 session_id 或工作單位沒有關聯。

如需詳細資訊,請參閱<管理 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