DBCC FLUSHAUTHCACHE (Transact-SQL)

Applies to: Azure SQL Database

Empties the database authentication cache containing information about logins and firewall rules, for the current user database in SQL Database.

DBCC FLUSHAUTHCACHE doesn't apply to the logical master database, because the master database contains the physical storage for the information about logins and firewall rules.

The user executing the statement and other currently connected users remain connected. (DBCC FLUSHAUTHCACHE isn't currently supported for Azure Synapse Analytics.)

Transact-SQL syntax conventions

Syntax

DBCC FLUSHAUTHCACHE
[;]

Arguments

None.

Remarks

The authentication cache makes a copy of logins and server firewall rules stored in the master database, and places them in memory in the user database. Since information about contained database users is already stored in the user database, contained database users aren't part of the authentication cache.

Continuously active connections to SQL Database require reauthorization (performed by the Database Engine) at least every 10 hours. The Database Engine attempts reauthorization using the originally submitted password and no user input is required. For performance reasons, when a password is reset in SQL Database, the connection won't be reauthenticated, even if the connection is reset because of connection pooling. This behavior is different from the behavior of on-premises SQL Server. If the password has changed since the connection was initially authorized, the connection must be terminated and a new connection made using the new password.

A user with the KILL DATABASE CONNECTION permission can explicitly terminate a connection to SQL Database by using the KILL (Transact-SQL) command.

Permissions

Requires the KILL DATABASE CONNECTION permission SQL Database or the admin account.

Example

The following statement clears the authentication cache for the current database.

DBCC FLUSHAUTHCACHE;

See also