| title | USE (Transact-SQL) | ||||
|---|---|---|---|---|---|
| description | Changes the database context to the specified database or database snapshot. | ||||
| author | rwestMSFT | ||||
| ms.author | randolphwest | ||||
| ms.date | 07/15/2025 | ||||
| ms.service | sql | ||||
| ms.subservice | t-sql | ||||
| ms.topic | reference | ||||
| ms.custom |
|
||||
| f1_keywords |
|
||||
| helpviewer_keywords |
|
||||
| dev_langs |
|
||||
| monikerRange | >=aps-pdw-2016 || >=sql-server-2016 || >=sql-server-linux-2017 || =azuresqldb-mi-current || =fabric |
[!INCLUDE sql-asdbmi-pdw-fabricdw]
Changes the database context to the specified database or database snapshot.
:::image type="icon" source="../../includes/media/topic-link-icon.svg" border="false"::: Transact-SQL syntax conventions
USE { database_name }
[ ; ]
The name of the database or database snapshot to which the user context is switched. Database and database snapshot names must comply with the rules for identifiers.
In [!INCLUDE ssazure-sqldb], the database parameter can only refer to the current database. If a database other than the current database is provided, the USE statement doesn't switch between databases, and error code 40508 is returned. To change databases, you must directly connect to the database. The USE statement is marked as not applicable to [!INCLUDE ssazure-sqldb] at the top of this page, because even though you can have the USE statement in a batch, it doesn't do anything.
When a [!INCLUDE ssNoVersion] login connects to [!INCLUDE ssNoVersion], the login is automatically connected to its default database and acquires the security context of a database user. If no database user is created for the [!INCLUDE ssNoVersion] login, the login connects as guest. If the database user doesn't have CONNECT permission on the database, the USE statement fails. If no default database is assigned to the login, its default database is set to master.
USE is executed at both compile and execution time and takes effect immediately. Therefore, statements that appear in a batch after the USE statement are executed in the specified database.
Requires CONNECT permission on the target database.
The following example changes the database context to the [!INCLUDE sssampledbobject-md] database.
USE AdventureWorks2022;
GO