Générer le script de tables et des données qu’elles contiennent avec SSMS 2008

SQL Server Management Studio 2008 introduit le scriptage des données des tables.
Le scriptage se fait toujours à l’aide de l’Assistant Script, mais il faut aller chercher l’option pour en scripter également les données

Pour cet exemple, nous prenons la petite table suivante :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
---------------------------------
-- Nicolas SOUQUET - 26/07/2009 -
---------------------------------
CREATE TABLE TbParametres
(
  IDParametre INT NOT NULL IDENTITY CONSTRAINT PK_TbParametres_IDParametre PRIMARY KEY,
  nomParametre VARCHAR(20) NOT NULL CONSTRAINT UQ_TbParametres_nomParametre UNIQUE
)
GO
 
INSERT INTO dbo.TbParametres(nomParametre)
VALUES ('Parametre1'),
    ('Parametre2'),
    ('Parametre3')
GO
 
SELECT IDParametre, nomParametre
FROM dbo.TbParametres

Nous voulons maintenant scripter le DDL de cette table ainsi que les données stockées par celle-ci.
Nous choisissons l’option « Générer des scripts » du menu « Tâches » que l’on trouve dans menu contextuel de la base de données contenant la table TbParametres, en l’occurence ELSUKET.

Nous obtenons la boîte suivante :

En cliquant sur « Suivant« , nous obtenons, comme avec SSMS 2005, la liste des options de script, et l’on voit que l’option « Générer le script des données » a été ajoutée :

Il suffit bien sûr de la positionner à « True » pour obtenir le script des INSERT de toutes les lignes des tables que nous allons choisir :

L’option « Générer un script dans une nouvelle fenêtre de requête » est sélectionnée par défaut.

Comme d’habitude, nous obtenons un résumé des scripts à générer :

Et peu après avoir cliqué sur « Terminer », nous obtenons le script suivant :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
USE [ELSUKET]
GO
/****** Object:  Table [dbo].[TbParametres]    Script Date: 07/26/2009 12:10:22 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[TbParametres](
  [IDParametre] [int] IDENTITY(1,1) NOT NULL,
  [nomParametre] [varchar](20) NOT NULL,
 CONSTRAINT [PK_TbParametres_IDParametre] PRIMARY KEY CLUSTERED  
(
  [IDParametre] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY],
 CONSTRAINT [UQ_TbParametres_nomParametre] UNIQUE NONCLUSTERED  
(
  [nomParametre] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
 
SET IDENTITY_INSERT [dbo].[TbParametres] ON
INSERT [dbo].[TbParametres] ([IDParametre], [nomParametre]) VALUES (1, N'Parametre1')
INSERT [dbo].[TbParametres] ([IDParametre], [nomParametre]) VALUES (2, N'Parametre2')
INSERT [dbo].[TbParametres] ([IDParametre], [nomParametre]) VALUES (3, N'Parametre3')
SET IDENTITY_INSERT [dbo].[TbParametres] OFF

ElSuket

3 réflexions au sujet de « Générer le script de tables et des données qu’elles contiennent avec SSMS 2008 »

  1. ça marche aussi avec SQL Express 2014, mais dans les options de script, il faut penser à cliquer sur le bouton Avancé, puis renseigner les types de données à inclure dans le script (par exemple schéma et données).

Laisser un commentaire