Published on

November 24, 2021

Création d’une base de données SQL Server à l’aide de scripts

La création d’une base de données SQL Server à l’aide de SQL Server Management Studio (SSMS) est une tâche courante pour les administrateurs de bases de données. Cependant, il peut y avoir des situations où vous devez créer un script pour automatiser le processus. Dans cet article, nous explorerons différents exemples de création d’une base de données SQL Server à l’aide de scripts.

Commande simple pour créer une base de données SQL Server

La manière la plus simple de créer une base de données SQL Server est d’utiliser l’instruction CREATE DATABASE. Cette instruction crée une base de données avec les paramètres par défaut, tels que l’emplacement des fichiers par défaut et le propriétaire étant le login que vous utilisez.

-- créer la base de données MyDatabase
CREATE DATABASE [MyDatabase]

Créer une base de données SQL Server et spécifier les emplacements des fichiers

Si vous souhaitez avoir plus de contrôle sur la configuration de votre base de données, vous pouvez spécifier les emplacements physiques des fichiers, les tailles initiales des fichiers et les incréments de croissance automatique. Cela vous permet de personnaliser la base de données selon vos besoins spécifiques.

-- créer la base de données MyDatabase et spécifier les emplacements physiques des fichiers, les tailles initiales des fichiers et les incréments de croissance automatique
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

Créer une base de données SQL Server et changer le propriétaire de la base de données

Par défaut, le propriétaire de la base de données est le login que vous utilisez pour exécuter l’instruction CREATE DATABASE. Cependant, vous pouvez facilement changer le propriétaire de la base de données pour un autre login en utilisant l’instruction ALTER AUTHORIZATION.

-- créer la base de données MyDatabase et spécifier les emplacements physiques des fichiers, les tailles initiales des fichiers et les incréments de croissance automatique, changer le propriétaire en 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

-- changer le propriétaire en sa
USE [MyDatabase]
GO
ALTER AUTHORIZATION ON DATABASE::[MyDatabase] TO [sa]
GO

Créer une base de données SQL Server et définir le modèle de récupération

Le modèle de récupération détermine la façon dont le journal des transactions est géré et si la récupération à un moment donné est possible. Par défaut, le modèle de récupération est défini sur “complet” pour la base de données modèle. Cependant, vous pouvez le changer en “simple” en utilisant l’instruction ALTER DATABASE.

-- créer la base de données MyDatabase et spécifier les emplacements physiques des fichiers, les tailles initiales des fichiers et les incréments de croissance automatique, changer le propriétaire en sa, et définir le modèle de récupération sur 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

-- changer le propriétaire en sa
USE [MyDatabase]
GO
ALTER AUTHORIZATION ON DATABASE::[MyDatabase] TO [sa]
GO

-- définir le modèle de récupération sur simple
ALTER DATABASE [MyDatabase] SET RECOVERY SIMPLE 
GO

Créer une base de données SQL Server et changer le niveau de compatibilité

Le niveau de compatibilité détermine la façon dont certaines fonctionnalités et comportements de SQL Server sont gérés. Vous pouvez définir le niveau de compatibilité sur une version inférieure de SQL Server en utilisant l’instruction ALTER DATABASE.

-- créer la base de données MyDatabase et spécifier les emplacements physiques des fichiers, les tailles initiales des fichiers et les incréments de croissance automatique, changer le propriétaire en sa, et définir le niveau de compatibilité sur une version inférieure
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

-- changer le propriétaire en sa
ALTER AUTHORIZATION ON DATABASE::[MyDatabase] TO [sa]
GO

-- définir le modèle de récupération sur simple
ALTER DATABASE [MyDatabase] SET RECOVERY SIMPLE 
GO

-- changer le niveau de compatibilité
ALTER DATABASE [MyDatabase] SET COMPATIBILITY_LEVEL = 110
GO

Script de création de base de données SQL Server avec toutes les options

Si vous souhaitez avoir un script qui inclut toutes les options possibles pour créer une base de données, vous pouvez décommenter les autres instructions ALTER DATABASE dans le script fourni ci-dessous.

-- créer la base de données MyDatabase et spécifier les emplacements physiques des fichiers, les tailles initiales des fichiers et les incréments de croissance automatique, changer le propriétaire en sa, et définir le niveau de compatibilité sur une version inférieure
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

-- changer le propriétaire en sa
ALTER AUTHORIZATION ON DATABASE::[MyDatabase] TO [sa]
GO

-- définir le modèle de récupération sur simple
ALTER DATABASE [MyDatabase] SET RECOVERY SIMPLE 
GO

-- changer le niveau de compatibilité
ALTER DATABASE [MyDatabase] SET COMPATIBILITY_LEVEL = 130
GO

/*
-- décommenter et modifier les autres instructions ALTER DATABASE au besoin
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
*/

Enregistrer le script de création de base de données dans SQL Server

Pour enregistrer le script et l’exécuter dans SQL Server Management Studio, suivez ces étapes :

  1. Cliquez sur Fichier et choisissez Enregistrer sous…
  2. Choisissez un répertoire pour stocker le script
  3. Donnez un nom significatif au fichier
  4. Enregistrez le fichier
  5. Pour exécuter le script, cliquez sur le bouton Exécuter ou appuyez sur la touche F5
  6. Cliquez sur le signe moins sur le dossier Bases de données pour réduire la liste déroulante
  7. Cliquez sur le bouton Actualiser pour reconstruire la liste des bases de données
  8. Cliquez sur le signe plus sur le dossier Bases de données pour développer la liste déroulante et afficher la nouvelle base de données
  9. Pour afficher les propriétés de la nouvelle base de données, cliquez avec le bouton droit sur le nom de la base de données et cliquez sur l’onglet Propriétés
  10. L’onglet Fichiers affiche le nom de la base de données, le propriétaire, les noms de fichiers logiques et physiques, les tailles de fichiers et les incréments de croissance automatique
  11. L’onglet Options montre où nous avons changé le modèle de récupération en “Simple” et le niveau de compatibilité

En utilisant des scripts pour créer des bases de données SQL Server, vous pouvez automatiser le processus et avoir plus de contrôle sur la configuration. Que vous ayez besoin d’une base de données simple ou d’une base de données avec des paramètres spécifiques, les scripts offrent flexibilité et efficacité.

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.