W tym bardzo szczególnym przypadku nie jest to absolutnie wymagane, ale jest wymagane w wielu innych scenariuszach. Jeśli tworzysz bazę danych o nazwie Sales
i masz bazę danych o nazwie Sales
, musisz zmienić kontekst bazy danych przed:
- Przywróć z zamień; lub,
- Upuść bieżącą bazę danych, a następnie:
- Twórz od podstaw; lub,
- Utwórz do załączenia.
Istnieje wiele innych scenariuszy poza tworzeniem bazy danych, które również wymagają (a) nie bycia w kontekście bieżącej bazy danych lub (b) bycia w kontekście master
konkretnej (lub przynajmniej nie określonej bazy danych) i wielu te rzeczy, które możesz robić podczas tworzenia baz danych lub w ich pobliżu:
- Ustawienie bazy danych na inny stan, np
single_user
- Zapobieganie błędom, gdy skrypt ma
USE
polecenie, ale baza danych użytkownika może być offline lub w inny sposób niedostępna
- Udzielanie uprawnień na poziomie serwera, takich jak
CREATE DATABASE
- Przyznanie członkostwa w roli na poziomie serwera
- Oznaczanie modułu jako obiektu systemowego (
sp_MS_marksystemobject
) lub procedury uruchamiania
- Niektóre rodzaje certyfikatów, audyt serwera i operacje grupy dostępności
Prawdopodobnie mnóstwo innych rzeczy. USE master;
nie zawsze jest konieczne, ale czasami jest i nie zaszkodzi zawsze wykonywać polecenia na poziomie serwera z tej bazy danych.