USE (Transact-SQL)USE (Transact-SQL)

Область применения: ДаSQL Server НетБаза данных SQL Azure НетAzure Synapse Analytics (Хранилище данных SQL) ДаParallel Data Warehouse APPLIES TO: YesSQL Server NoAzure SQL Database NoAzure Synapse Analytics (SQL DW) YesParallel Data Warehouse

Изменяет контекст базы данных на указанную базу данных или моментальный снимок базы данных в SQL ServerSQL Server.Changes the database context to the specified database or database snapshot in SQL ServerSQL Server.

Значок ссылки на раздел Синтаксические обозначения в Transact-SQLTopic link icon Transact-SQL Syntax Conventions

СинтаксисSyntax

USE { database_name }   
[;]  

АргументыArguments

database_namedatabase_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.

В База данных SQL AzureAzure SQL Database параметр базы данных может ссылаться только на текущую базу данных.In База данных SQL AzureAzure SQL Database, the database parameter can only refer to the current database. Если указана база данных, отличная от текущей, инструкция USE не переключается между базами данных и возвращается код ошибки 40508.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. В верхней части этой страницы инструкция USE помечена как неприменимая к базе данных SQL, поскольку даже если инструкция USEвходит в состав пакета, она не выполняет никаких действий.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.

RemarksRemarks

При подключении имени входа SQL ServerSQL Server к SQL ServerSQL Server имя входа автоматически подключается к базе данных по умолчанию и получает контекст безопасности пользователя базы данных.When a SQL ServerSQL Server login connects to SQL ServerSQL Server, the login is automatically connected to its default database and acquires the security context of a database user. Если для имени входа SQL ServerSQL Server пользователь базы данных не был создан, имя входа подключается как «гость».If no database user has been created for the SQL ServerSQL Server login, the login connects as guest. Если пользователь базы данных не имеет разрешения CONNECT на базу данных, инструкция USE завершится ошибкой.If the database user does not have CONNECT permission on the database, the USE statement will fail. Если с именем входа не была связана никакая база данных по умолчанию, то для него базой данных по умолчанию будет установлена база данных master.If no default database has been assigned to the login, its default database will be set to master.

Инструкция USE выполняется как на стадии компиляции, так и на стадии выполнения и вступает в силу немедленно.USE is executed at both compile and execution time and takes effect immediately. Иными словами, инструкции, которые содержатся в пакете после инструкции USE, будут выполнены в контексте указанной базы данных.Therefore, statements that appear in a batch after the USE statement are executed in the specified database.

РазрешенияPermissions

Необходимо разрешение CONNECT на целевую базу данных.Requires CONNECT permission on the target database.

ПримерыExamples

В следующем примере выполняется смена контекста на базу данных AdventureWorks2012.The following example changes the database context to the AdventureWorks2012 database.

USE AdventureWorks2012;  
GO  

См. также:See Also

CREATE LOGIN (Transact-SQL) CREATE LOGIN (Transact-SQL)
CREATE USER (Transact-SQL) CREATE USER (Transact-SQL)
Участники (ядро СУБД) Principals (Database Engine)
CREATE DATABASE (SQL Server Transact-SQL) CREATE DATABASE (SQL Server Transact-SQL)
DROP DATABASE (Transact-SQL) DROP DATABASE (Transact-SQL)
EXECUTE (Transact-SQL)EXECUTE (Transact-SQL)