No es absolutamente un requisito en este caso muy específico, pero es un requisito en muchos otros escenarios. Si está creando una base de datos llamada Sales
y tiene una base de datos llamada Sales
, deberá cambiar el contexto de su base de datos antes de:
- Restaurar con reemplazar; o,
- Descarte la base de datos actual y luego:
- Crea desde cero; o,
- Crear para adjuntar.
Hay muchos otros escenarios fuera de la creación de la base de datos que también requieren (a) no estar en el contexto de la base de datos actual, o (b) estar en el contexto master
específico (o al menos no una base de datos específica ), y muchos de Estas cosas puede estar haciendo durante o alrededor de la creación de bases de datos:
- Establecer una base de datos en un estado diferente, como
single_user
- Prevención de errores cuando un script tiene un
USE
comando pero esa base de datos de usuarios puede estar fuera de línea o inaccesible
- Conceder permisos a nivel de servidor como
CREATE DATABASE
- Conceder membresía de rol a nivel de servidor
- Marcar un módulo como un objeto del sistema (
sp_MS_marksystemobject
) o como un procedimiento de inicio
- Ciertos tipos de operaciones de certificado, auditoría de servidor y grupo de disponibilidad
Probablemente un montón de otras cosas. USE master;
No siempre es necesario, pero a veces lo es, y no duele para ejecutar siempre comandos de nivel de servidor de base de datos.