Как изменить контекст базы данных в Microsoft SQL Server? Команда USE

Привет, в этой небольшой заметке я расскажу начинающим программистам и администраторам Microsoft SQL Server о достаточно простом действии, о том, как изменяется контекст базы данных в SQL инструкциях, также я покажу, как это можно сделать в графической среде SQL Server Management Studio.

Если Вы обслуживаете или будете обслуживать несколько баз данных на одном экземпляре SQL Server, то, скорей всего, Вам придётся в своих SQL инструкциях менять контекст подключения к базе данных. Лично я Вам рекомендую во всех своих инструкциях (если у Вас несколько баз данных) принудительно указывать контекст базы данных, иными словами, к какой базе данных относится та или иная SQL инструкция.

В Microsoft SQL Server это делается с помощью команды USE.

Команда USE

Команда USE в T-SQL

USE – команда, с помощью которой можно переключать контекст базы данных в SQL инструкциях. В качестве параметра данной команде необходимо просто передать название базы данных, в контексте которой Вам необходимо выполнить SQL инструкцию.

Следует отметить, что для того чтобы использовать команду USE, у Вас должны быть соответствующие права, а именно: разрешение CONNECT на целевую базу данных, т.е. Вы имеете право подключаться к этой базе данных.

Когда Вы подключаетесь к SQL серверу, Ваш контекст настроен на базу данных по умолчанию, если Вы или администратор Вам не указал такую базу данных для имени входа, то по умолчанию Вы будете подключаться к базе master.

Пример использования команды USE

В качестве примера давайте напишем простую инструкцию, в которой мы подключимся к базе данных TestDB, выполним тестовый запрос (вызовем функцию DB_NAME), а затем сменим контекст базы данных на другую, в нашем примере это будет база master.

   
   USE TestDB
   GO
   --Инструкции для базы данных TestDB
   SELECT DB_NAME() AS [Имя базы данных]

   USE master
   GO
   --Инструкции для базы данных master
  SELECT DB_NAME() AS [Имя базы данных]

Скриншот 1

Меняем контекст базы данных с помощью Management Studio

Посмотреть, к какой базе данных Вы подключены в данный момент, а также переключить контекст на другую базу данных, Вы можете в среде SQL Server Management Studio.

Данный функционал расположен на панели редактора SQL запросов.

Скриншот 2

Как сменить контекст подключения к базе данных, мы с Вами рассмотрели, однако мне хотелось бы еще отметить то, что Microsoft SQL Server позволяет в SQL инструкциях обращаться к объектам, которые расположены в разных базах данных на одном экземпляре SQL сервера. Иными словами, не меняя контекст подключения, мы, например, можем запросить данные из таблицы, которая расположена в другой базе данных, вызвать хранимую процедуру или функцию.

Это делается с помощью указания полного четырехсоставного имени объекта, только имя сервера можно не указывать.

Например, следующий запрос выполнится успешно, и мы получим данные из таблицы TestTable, хотя, как Вы понимаете, таблицы TestTable в базе данных master нет (именно на ней будет контекст выполнения).

   
   USE master
   GO
   SELECT * FROM TestDB.dbo.TestTable

Где:

  • TestDB – имя базы данных;
  • dbo –имя схемы;
  • TestTable – имя таблицы.

Заметка! Начинающим программистам рекомендую почитать мою книгу «Путь программиста T-SQL», в ней я подробно, с большим количеством примеров, рассказываю про многие конструкции языка Transact-SQL.

У меня на этом все, удачи!

Понравилась статья? Поделиться с друзьями:
Заметки IT специалиста
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:
Нажимая на кнопку «Отправить комментарий», я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.