Published on

November 24, 2021

Creando una base de datos de SQL Server usando scripts

Crear una base de datos de SQL Server usando SQL Server Management Studio (SSMS) es una tarea común para los administradores de bases de datos. Sin embargo, puede haber situaciones en las que necesite crear un script para automatizar el proceso. En este artículo, exploraremos diferentes ejemplos de cómo crear una base de datos de SQL Server usando scripts.

Comando simple para crear una base de datos de SQL Server

La forma más sencilla de crear una base de datos de SQL Server es utilizando la instrucción CREATE DATABASE. Esta instrucción crea una base de datos con la configuración predeterminada, como la ubicación de archivos predeterminada y el propietario siendo el inicio de sesión que está utilizando.

-- crear base de datos MyDatabase
CREATE DATABASE [MyDatabase]

Crear una base de datos de SQL Server y especificar ubicaciones de archivos

Si desea tener más control sobre la configuración de su base de datos, puede especificar las ubicaciones físicas de los archivos, los tamaños iniciales de los archivos y los incrementos de crecimiento automático. Esto le permite personalizar la base de datos según sus necesidades específicas.

-- crear base de datos MyDatabase y especificar ubicaciones físicas de archivos, tamaños físicos iniciales de archivos e incrementos de crecimiento automático
CREATE DATABASE [MyDatabase] 
    ON (NAME = N'MyDatabase', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL2017\MSSQL\DATA\MyDatabase.mdf', SIZE = 1024MB, FILEGROWTH = 256MB)
LOG ON (NAME = N'MyDatabase_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL2017\MSSQL\DATA\MyDatabase_log.ldf', SIZE = 512MB, FILEGROWTH = 125MB)
GO

Crear una base de datos de SQL Server y cambiar el propietario de la base de datos

De forma predeterminada, el propietario de la base de datos es el inicio de sesión que está ejecutando la instrucción CREATE DATABASE. Sin embargo, puede cambiar fácilmente el propietario de la base de datos a otro inicio de sesión utilizando la instrucción ALTER AUTHORIZATION.

-- crear base de datos MyDatabase y especificar ubicaciones físicas de archivos, tamaños físicos iniciales de archivos e incrementos de crecimiento automático, cambiar propietario a sa
CREATE DATABASE [MyDatabase] 
    ON (NAME = N'MyDatabase', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL2017\MSSQL\DATA\MyDatabase.mdf', SIZE = 1024MB, FILEGROWTH = 256MB)
LOG ON (NAME = N'MyDatabase_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL2017\MSSQL\DATA\MyDatabase_log.ldf', SIZE = 512MB, FILEGROWTH = 125MB)
GO

-- cambiar propietario a sa
USE [MyDatabase]
GO
ALTER AUTHORIZATION ON DATABASE::[MyDatabase] TO [sa]
GO

Crear una base de datos de SQL Server y establecer el modelo de recuperación

El modelo de recuperación determina cómo se administra el registro de transacciones y si es posible la recuperación en un momento determinado. De forma predeterminada, el modelo de recuperación se establece en “completo” para la base de datos modelo. Sin embargo, puede cambiarlo a “simple” utilizando la instrucción ALTER DATABASE.

-- crear base de datos MyDatabase y especificar ubicaciones físicas de archivos, tamaños físicos iniciales de archivos e incrementos de crecimiento automático, cambiar propietario a sa y establecer el modelo de recuperación en simple
CREATE DATABASE [MyDatabase] 
    ON (NAME = N'MyDatabase', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL2017\MSSQL\DATA\MyDatabase.mdf', SIZE = 1024MB, FILEGROWTH = 256MB)
LOG ON (NAME = N'MyDatabase_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL2017\MSSQL\DATA\MyDatabase_log.ldf', SIZE = 512MB, FILEGROWTH = 125MB)
GO

-- cambiar propietario a sa
USE [MyDatabase]
GO
ALTER AUTHORIZATION ON DATABASE::[MyDatabase] TO [sa]
GO

-- establecer el modelo de recuperación en simple
ALTER DATABASE [MyDatabase] SET RECOVERY SIMPLE 
GO

Crear una base de datos de SQL Server y cambiar el nivel de compatibilidad

El nivel de compatibilidad determina cómo se manejan ciertas características y comportamientos de SQL Server. Puede establecer el nivel de compatibilidad en una versión anterior de SQL Server utilizando la instrucción ALTER DATABASE.

-- crear base de datos MyDatabase y especificar ubicaciones físicas de archivos, tamaños físicos iniciales de archivos e incrementos de crecimiento automático, cambiar propietario a sa y establecer el nivel de compatibilidad en una versión anterior
CREATE DATABASE [MyDatabase] 
    ON (NAME = N'MyDatabase', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL2017\MSSQL\DATA\MyDatabase.mdf', SIZE = 1024MB, FILEGROWTH = 256MB)
LOG ON (NAME = N'MyDatabase_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL2017\MSSQL\DATA\MyDatabase_log.ldf', SIZE = 512MB, FILEGROWTH = 125MB)
GO

-- cambiar propietario a sa
ALTER AUTHORIZATION ON DATABASE::[MyDatabase] TO [sa]
GO

-- establecer el modelo de recuperación en simple
ALTER DATABASE [MyDatabase] SET RECOVERY SIMPLE 
GO

-- cambiar el nivel de compatibilidad
ALTER DATABASE [MyDatabase] SET COMPATIBILITY_LEVEL = 110
GO

Script de creación de base de datos de SQL Server con todas las opciones

Si desea tener un script que incluya todas las opciones posibles para crear una base de datos, puede descomentar las instrucciones adicionales de ALTER DATABASE en el script proporcionado a continuación.

-- crear base de datos MyDatabase y especificar ubicaciones físicas de archivos, tamaños físicos iniciales de archivos e incrementos de crecimiento automático, cambiar propietario a sa y establecer el nivel de compatibilidad en una versión anterior
CREATE DATABASE [MyDatabase] 
    ON (NAME = N'MyDatabase', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL2017\MSSQL\DATA\MyDatabase.mdf', SIZE = 1024MB, FILEGROWTH = 256MB)
LOG ON (NAME = N'MyDatabase_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL2017\MSSQL\DATA\MyDatabase_log.ldf', SIZE = 512MB, FILEGROWTH = 125MB)
GO

-- cambiar propietario a sa
ALTER AUTHORIZATION ON DATABASE::[MyDatabase] TO [sa]
GO

-- establecer el modelo de recuperación en simple
ALTER DATABASE [MyDatabase] SET RECOVERY SIMPLE 
GO

-- cambiar el nivel de compatibilidad
ALTER DATABASE [MyDatabase] SET COMPATIBILITY_LEVEL = 130
GO

/*
-- descomente y modifique cualquier otra instrucción ALTER DATABASE según sea necesario
ALTER DATABASE [MyDatabase] SET ANSI_NULL_DEFAULT OFF 
GO
ALTER DATABASE [MyDatabase] SET ANSI_NULLS OFF 
GO
ALTER DATABASE [MyDatabase] SET ANSI_PADDING OFF 
GO
ALTER DATABASE [MyDatabase] SET ANSI_WARNINGS OFF 
GO
ALTER DATABASE [MyDatabase] SET ARITHABORT OFF 
GO
ALTER DATABASE [MyDatabase] SET AUTO_CLOSE OFF 
GO
ALTER DATABASE [MyDatabase] SET AUTO_SHRINK OFF 
GO
ALTER DATABASE [MyDatabase] SET AUTO_CREATE_STATISTICS ON(INCREMENTAL = OFF)
GO
ALTER DATABASE [MyDatabase] SET AUTO_UPDATE_STATISTICS ON 
GO
ALTER DATABASE [MyDatabase] SET CURSOR_CLOSE_ON_COMMIT OFF 
GO
ALTER DATABASE [MyDatabase] SET CURSOR_DEFAULT GLOBAL 
GO
ALTER DATABASE [MyDatabase] SET CONCAT_NULL_YIELDS_NULL OFF 
GO
ALTER DATABASE [MyDatabase] SET NUMERIC_ROUNDABORT OFF 
GO
ALTER DATABASE [MyDatabase] SET QUOTED_IDENTIFIER OFF 
GO
ALTER DATABASE [MyDatabase] SET RECURSIVE_TRIGGERS OFF 
GO
ALTER DATABASE [MyDatabase] SET DISABLE_BROKER 
GO
ALTER DATABASE [MyDatabase] SET AUTO_UPDATE_STATISTICS_ASYNC OFF 
GO
ALTER DATABASE [MyDatabase] SET DATE_CORRELATION_OPTIMIZATION OFF 
GO
ALTER DATABASE [MyDatabase] SET PARAMETERIZATION SIMPLE 
GO
ALTER DATABASE [MyDatabase] SET READ_COMMITTED_SNAPSHOT OFF 
GO
ALTER DATABASE [MyDatabase] SET READ_WRITE 
GO
ALTER DATABASE [MyDatabase] SET RECOVERY FULL 
GO
ALTER DATABASE [MyDatabase] SET MULTI_USER 
GO
ALTER DATABASE [MyDatabase] SET PAGE_VERIFY CHECKSUM  
GO
ALTER DATABASE [MyDatabase] SET TARGET_RECOVERY_TIME = 60 SECONDS 
GO
ALTER DATABASE [MyDatabase] SET DELAYED_DURABILITY = DISABLED 
GO
USE [MyDatabase]
GO
ALTER DATABASE SCOPED CONFIGURATION SET LEGACY_CARDINALITY_ESTIMATION = Off;
GO
ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET LEGACY_CARDINALITY_ESTIMATION = Primary;
GO
ALTER DATABASE SCOPED CONFIGURATION SET MAXDOP = 0;
GO
ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET MAXDOP = PRIMARY;
GO
ALTER DATABASE SCOPED CONFIGURATION SET PARAMETER_SNIFFING = On;
GO
ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET PARAMETER_SNIFFING = Primary;
GO
ALTER DATABASE SCOPED CONFIGURATION SET QUERY_OPTIMIZER_HOTFIXES = Off;
GO
ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET QUERY_OPTIMIZER_HOTFIXES = Primary;
GO
*/

Guardar el script de creación de base de datos en SQL Server

Para guardar el script y ejecutarlo en SQL Server Management Studio, siga estos pasos:

  1. Haga clic en Archivo y elija Guardar como…
  2. Elija un directorio para almacenar el script
  3. Asigne un nombre significativo al archivo
  4. Guarde el archivo
  5. Para ejecutar el script, haga clic en el botón Ejecutar o presione la tecla F5
  6. Haga clic en el signo menos en la carpeta Bases de datos para contraer el menú desplegable
  7. Haga clic en el botón Actualizar para reconstruir la lista de bases de datos
  8. Haga clic en el signo más en la carpeta Bases de datos para expandir el menú desplegable y ver la nueva base de datos
  9. Para ver las propiedades de la nueva base de datos, haga clic con el botón derecho en el nombre de la base de datos y haga clic en la pestaña Propiedades
  10. La pestaña Archivos mostrará el nombre de la base de datos, el propietario, los nombres de archivo lógicos y físicos, los tamaños de archivo e incrementos de crecimiento automático
  11. La pestaña Opciones muestra donde cambiamos el modelo de recuperación a “Simple” y el nivel de compatibilidad

Al utilizar scripts para crear bases de datos de SQL Server, puede automatizar el proceso y tener un mayor control sobre la configuración. Ya sea que necesite una base de datos simple o una con configuraciones específicas, los scripts brindan flexibilidad y eficiencia.

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.