Skip to content

Latest commit

 

History

History
65 lines (52 loc) · 3.43 KB

use-transact-sql.md

File metadata and controls

65 lines (52 loc) · 3.43 KB
title description author ms.author ms.date ms.service ms.subservice ms.topic f1_keywords helpviewer_keywords dev_langs monikerRange
USE (Transact-SQL)
USE (Transact-SQL)
rwestMSFT
randolphwest
11/28/2016
sql
t-sql
reference
USE_TSQL
USE
USE statement
database context [SQL Server]
context changes [SQL Server]
modifying database context
TSQL
>= aps-pdw-2016 || >= sql-server-2016 || >= sql-server-linux-2017 || = azuresqldb-mi-current ||=fabric

USE (Transact-SQL)

[!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

Syntax

USE { database_name }   
[;]  

Arguments

database_name
Is 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 does not 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 SQL Database at the top of this page, because even though you can have the USE statement in a batch, it doesn't do anything.

Remarks

When a [!INCLUDEssNoVersion] login connects to [!INCLUDEssNoVersion], the login is automatically connected to its default database and acquires the security context of a database user. If no database user has been created for the [!INCLUDEssNoVersion] login, the login connects as guest. If the database user does not have CONNECT permission on the database, the USE statement will fail. If no default database has been assigned to the login, its default database will be 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.

Permissions

Requires CONNECT permission on the target database.

Examples

The following example changes the database context to the [!INCLUDE sssampledbobject-md] database.

USE AdventureWorks2022;  
GO  

See Also

CREATE LOGIN (Transact-SQL)
CREATE USER (Transact-SQL)
Principals (Database Engine)
CREATE DATABASE (SQL Server Transact-SQL)
DROP DATABASE (Transact-SQL)
EXECUTE (Transact-SQL)