Це абсолютно не є вимогою в цьому дуже конкретному випадку, але це вимога у багатьох інших сценаріях. Якщо ви створюєте базу даних під назвою Sales
, і у вас є названа база даних Sales
, вам потрібно змінити контекст вашої бази даних:
- Відновити із заміною; або,
- Видаліть поточну базу даних, а потім:
- Створити з нуля; або,
- Створити для вкладення.
За межами створення бази даних існує безліч інших сценаріїв, які також вимагають або (a) не в контексті поточної бази даних, або (b) в контексті master
конкретно (або принаймні не конкретної бази даних), і багато такі речі, якими ви можете займатися під час створення баз даних або навколо них:
- Встановлення бази даних в інший стан, наприклад
single_user
- Попередження помилок, коли скрипт має
USE
команду, але ця база даних користувача може бути в автономному режимі або іншим чином недоступна
- Надання дозволів на рівні сервера
CREATE DATABASE
- Надання членства на рівні сервера
- Позначення модуля як системного об'єкта (
sp_MS_marksystemobject
) або як процедура запуску
- Певні типи сертифікатів, сервісного аудиту та операцій групи доступності
Напевно, багато іншого. USE master;
не завжди потрібно, але іноді це є, і не завадить завжди виконувати команди серверного рівня з цієї бази даних.