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 Salese 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 masterespecificamente (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
USEcomando, 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.