En tant qu’administrateur de base de données, la création de scripts pour le schéma d’une table et la génération de procédures stockées sont des tâches courantes. Cependant, dans SQL Server 2008, Microsoft a introduit une nouvelle option : la création de scripts à partir des données d’une table. Cet article vous guidera à travers le processus d’utilisation de l’option “Générer un script” pour créer un script des données de table et le stocker dans un fichier de script ou dans le presse-papiers.
Tout d’abord, créons une base de données appelée “MaBaseDeDonnées” en utilisant le script suivant :
USE [master]
GO
IF EXISTS (SELECT name FROM sys.databases WHERE name = N'MaBaseDeDonnées')
DROP DATABASE [MaBaseDeDonnées]
GO
USE [master]
GO
CREATE DATABASE [MaBaseDeDonnées] ON PRIMARY
(
NAME = N'MaBaseDeDonnées',
FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\MaBaseDeDonnées.mdf',
SIZE = 1280KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB
)
LOG ON
(
NAME = N'MaBaseDeDonnées_log',
FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\MaBaseDeDonnées_log.LDF',
SIZE = 504KB , MAXSIZE = 2048GB , FILEGROWTH = 10%
)
GO
ALTER DATABASE [MaBaseDeDonnées] SET COMPATIBILITY_LEVEL = 100
GO
Ensuite, créons une table appelée “DetailsClient” en utilisant le script suivant :
USE [MaBaseDeDonnées]
GO
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[DetailsClient]') AND type in (N'U'))
DROP TABLE [dbo].[DetailsClient]
GO
USE [MaBaseDeDonnées]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[DetailsClient](
[id] [int] NULL,
[Prenom] [varchar](100) NULL,
[Nom] [varchar](100) NULL,
[NumeroPorte] [varchar](50) NULL,
[Rue] [varchar](500) NULL,
[Ville] [varchar](200) NULL,
[CodePostal] [int] NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
Maintenant, insérons des données dans la table “DetailsClient” :
USE [MaBaseDeDonnées] GO INSERT INTO [dbo].[DetailsClient] ([id], [Prenom], [Nom], [NumeroPorte], [Rue], [Ville], [CodePostal]) VALUES (1, 'Josie', 'su', '100', 'Main st', 'San francisco', 94109) INSERT INTO [dbo].[DetailsClient] ([id], [Prenom], [Nom], [NumeroPorte], [Rue], [Ville], [CodePostal]) VALUES (2, 'Sam', 'Rooban', '10', 'HighBridge road', 'Somerset', 8875) INSERT INTO [dbo].[DetailsClient] ([id], [Prenom], [Nom], [NumeroPorte], [Rue], [Ville], [CodePostal]) VALUES (3, 'Kristina', 'Sheik', '10', 'Essex St', 'Hackensack', 8620) INSERT INTO [dbo].[DetailsClient] ([id], [Prenom], [Nom], [NumeroPorte], [Rue], [Ville], [CodePostal]) VALUES (4, 'Vincent', 'Hsu', '50', 'Main st', 'Fortlee', 7024) INSERT INTO [dbo].[DetailsClient] ([id], [Prenom], [Nom], [NumeroPorte], [Rue], [Ville], [CodePostal]) VALUES (5, 'Shane', 'Murphy', '500', 'West Main st', 'San francisco', 94124)
Ensuite, générons un script pour la table “DetailsClient” ainsi que ses données en utilisant l’option “Générer un script” dans SQL Server Management Studio :
- Cliquez avec le bouton droit sur la base de données “MaBaseDeDonnées” dans l’Explorateur d’objets.
- Cliquez sur “Tâches” puis sur “Générer un script”.
- Dans l’assistant “Générer un script”, sélectionnez l’option “Sélectionner des objets spécifiques de la base de données” et choisissez la table “dbo DetailsClient”.
- Choisissez l’option de sortie, telle que “Enregistrer dans un fichier”, “Enregistrer dans le presse-papiers” ou “Enregistrer dans une nouvelle fenêtre de requête”. Pour cet exemple, sélectionnons “Enregistrer dans le presse-papiers”.
- Cliquez sur le bouton “Avancé” et sélectionnez la valeur “Schéma et données” sous l’option “Types de données à scripter”.
- Cliquez sur “OK” puis sur “Suivant”.
- Vérifiez les options dans la fenêtre suivante et cliquez sur “Suivant”.
- SQL Server préparera le schéma et les données.
- Appuyez sur Ctrl + “V” (commande de collage Windows) dans le bloc-notes ou une fenêtre de requête pour voir le script généré.
À partir du script généré, vous pouvez voir que SQL Server a créé un script à la fois pour le schéma de la table et les données de la table “DetailsClient” dans la base de données “MaBaseDeDonnées”.
En conclusion, cet article a illustré comment utiliser l’option “Générer un script” dans SQL Server pour créer un script des données de table et le stocker dans un fichier de script ou dans le presse-papiers. Cette fonctionnalité peut être utile pour les administrateurs de base de données qui ont besoin de créer un script des données en plus du schéma de la table.