sys.sp_kill_filestream_non_transacted_handles (Transact-SQL)

S'applique à :SQL Server

Ferme les handles de fichiers nontransactionnels aux données FileTable.

Conventions de la syntaxe Transact-SQL

Syntaxe

sys.sp_kill_filestream_non_transacted_handles
    [ [ @table_name = ] N'table_name' ]
    [ , [ @handle_id = ] handle_id ]
[ ; ]

Arguments

[ @table_name = ] N’table_name'

Nom de la table dans laquelle fermer les handles nontransactionnels.

Vous pouvez @table_name passer sans @handle_id fermer tous les handles non transactionnels ouverts pour la FileTable.

Vous pouvez passer NULL pour la valeur de @table_name de fermer tous les handles non transactionnels ouverts pour toutes les FileTables dans la base de données actuelle. NULL est la valeur par défaut.

[ @handle_id = ] handle_id

ID facultatif du descripteur individuel à fermer. Vous pouvez obtenir le @handle_id depuis la vue de gestion dynamique sys.dm_filestream_non_transacted_handles . Chaque ID est unique dans une instance SQL Server. Si vous spécifiez @handle_id, vous devez aussi fournir une valeur pour @table_name.

Vous pouvez passer NULL pour la valeur de @handle_id de fermer tous les handles non transactionnels ouverts pour le FileTable spécifié par @table_name. NULL est la valeur par défaut.

Valeurs des codes de retour

0 (réussite) or 1 (échec).

Jeu de résultats

Aucune.

Notes

La .

Pour plus d’informations, consultez Gérer des FileTables.

Métadonnées

Pour plus d’informations sur les handles de fichier nontransaction ouverts, interrogez la vue de gestion dynamique sys.dm_filestream_non_transacted_handles.

autorisations

Vous devez avoir VIEWDATABASE l’autorisation STATE pour obtenir des handles de fichiers depuis la sys.dm_filestream_non_transacted_handles vue de gestion dynamique et pour exécuter sp_kill_filestream_non_transacted_handles.

Exemples

Les exemples suivants montrent comment appeler sp_kill_filestream_non_transacted_handles pour fermer des handles de fichiers nontransactionnels pour les données 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;

L’exemple suivant montre comment utiliser un script pour obtenir un handle_id et le fermer.

DECLARE @handle_id AS VARBINARY (16);
DECLARE @table_name AS SYSNAME;

SELECT TOP 1 @handle_id = handle_id,
    @table_name = Object_name(table_id)
FROM sys.dm_FILESTREAM_non_transacted_handles;

EXECUTE sp_kill_filestream_non_transacted_handles
    @dbname,
    @table_name,
    @handle_id;
GO