Não é absolutamente um requisito neste caso muito específico, mas é um requisito em muitos outros cenários. Se você estiver criando um banco de dados chamado Sales
e já tiver um banco de dados chamado Sales
, precisará alterar o contexto do banco de dados antes de:
- Restaurar com substituir; ou,
- Solte o banco de dados atual e, em seguida:
- Crie do zero; ou,
- Crie para anexar.
Existem muitos outros cenários fora da criação do banco de dados que também exigem: (a) não estar no contexto do banco de dados atual ou (b) estar no contexto de master
especificamente (ou pelo menos não um banco de dados específico ), e muitos as seguintes ações que você pode fazer durante a criação de bancos de dados:
- Definir um banco de dados para um estado diferente, como
single_user
- Evitando erros quando um script possui um
USE
comando, mas o banco de dados do usuário pode estar offline ou inacessível
- Conceder permissões no nível do servidor, como
CREATE DATABASE
- Concedendo Associação à Função no Nível do Servidor
- Marcando um módulo como um objeto do sistema (
sp_MS_marksystemobject
) ou como um procedimento de inicialização
- Certos tipos de operações de certificado, auditoria de servidor e grupo de disponibilidade
Provavelmente uma série de outras coisas. USE master;
nem sempre é necessário, mas às vezes é, e não custa sempre executar comandos no nível do servidor desse banco de dados.