DBCC FLUSHAUTHCACHE (Transact SQL)

适用于:Azure SQL 数据库

为 SQL 数据库中当前用户数据库清空包含有关登录名和防火墙规则信息的数据库身份验证缓存。

DBCC FLUSHAUTHCACHE 不适用于逻辑 master 数据库,因为 master 数据库包含登录名和防火墙规则信息的物理存储。

执行该语句的用户和当前连接的其他用户保持连接状态。 (Azure Synapse Analytics 目前不支持 DBCC FLUSHAUTHCACHE。)

Transact-SQL 语法约定

语法

DBCC FLUSHAUTHCACHE
[;]

参数

无。

备注

身份验证缓存创建 master 数据库中存储的登录名和服务器防火墙规则的副本,并将它们放在用户数据库的内存中。 由于包含的数据库用户的相关信息已存储在用户数据库中,因此包含的数据库用户不是身份验证缓存的一部分。

与 SQL 数据库 持续保持活动连接需要至少每隔 10 小时进行重新授权(由 数据库引擎 执行)。 数据库引擎 使用最初提交的密码尝试重新授权,且无需用户输入。 为了提升性能,在 SQL 数据库 中重置密码时,连接不会重新进行身份验证,即使连接因连接池而重置,也不例外。 此行为与本地 SQL Server 的行为不同。 如果自最初授权连接时已更改密码,必须终止连接,并使用新密码建立新连接。

具有 KILL DATABASE CONNECTION 权限的用户可使用 KILL (Transact-SQL) 命令,显式终止与 SQL 数据库的连接。

权限

需要具有 KILL DATABASE CONNECTION 权限的 SQL 数据库或管理员帐户。

示例

以下语句会清除当前数据库的身份验证缓存。

DBCC FLUSHAUTHCACHE;

请参阅