Étapes pour migrer toutes les données entre les serveurs dans SQL Server

Date de création de la page :

environnement

SQL Server
  • SQL Server 2019
  • SQL Server 2012

Comment la migration des données est migrée et les avantages et inconvénients de chacune

Il existe plusieurs façons de migrer des données de base de données SQL Server vers SQL Server sur d’autres serveurs en bloc : Chacun a ses avantages et ses inconvénients lors de la migration, alors choisissez la méthode qui convient le mieux à votre environnement.

Méthode de migration Connectivité réseau entre les serveursAuthentification présynchrone des dispositions de table de taille de fichier lors de la migration vers des versions antérieures
Sauvegarde et restauration de bases de données Non requis (déplacer des fichiers) mauvais ordinaire Non requis (remplacement complet automatique) inutile
Données de sortie au format SQL Non requis (déplacer des fichiers) passable grand Obligatoire ou supprimé dans la table inutile
Utiliser l’outil Importer et exporter des données caractère indispensable passable sans En fonction de vos paramètres de migration nécessité

condition préalable

  • Supposons que SQL Server et SQL Server Management Studio sont installés sur chaque serveur.
  • Ce conseil ose rendre les versions de SQL Server différentes.

Créer des exemples de données

Lorsque vous discutez de la migration des données, vous le faites dans la base de données avec la configuration de table suivante :

Source de migration des données

SQL Server 2012

  • Tableau 1 (Colonne:Clé, Valeur)
  • Tableau 2 (Colonne:Clé, Valeur, Remarques)
  • Tableau 3 (Colonne:Clé, Valeur)

Ce qui suit est un script de création de base de données. Modifiez le chemin d’accès en temps opportun.

USE [master]
GO

CREATE DATABASE [SampleDatabase]
 CONTAINMENT = NONE
 ON  PRIMARY 
( NAME = N'SampleDatabase', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\SampleDatabase.mdf' , SIZE = 5120KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
 LOG ON 
( NAME = N'SampleDatabase_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\SampleDatabase_log.ldf' , SIZE = 2048KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
GO

Vous trouverez ci-dessous un script de création de tableau.

USE [SampleDatabase]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[テーブル1](
	[キー] [int] NOT NULL,
	[値] [nvarchar](50) NULL,
 CONSTRAINT [PK_テーブル1] PRIMARY KEY CLUSTERED 
(
	[キー] 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_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[テーブル2](
	[キー] [int] NOT NULL,
	[値] [nvarchar](50) NULL,
	[備考] [nvarchar](50) NULL,
 CONSTRAINT [PK_テーブル2] PRIMARY KEY CLUSTERED 
(
	[キー] 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_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[テーブル3](
	[キー] [int] NOT NULL,
	[値] [nvarchar](50) NULL,
 CONSTRAINT [PK_テーブル3] PRIMARY KEY CLUSTERED 
(
	[キー] 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

Voici un script d’enregistrement supplémentaire :

USE [SampleDatabase]
GO
INSERT [dbo].[テーブル1] ([キー], [値]) VALUES (1, N'1aaa')
GO
INSERT [dbo].[テーブル1] ([キー], [値]) VALUES (2, N'1bbb')
GO
INSERT [dbo].[テーブル2] ([キー], [値], [備考]) VALUES (1, N'2aaa', N'2remarks')
GO
INSERT [dbo].[テーブル2] ([キー], [値], [備考]) VALUES (2, N'2bbb', N'2remarks')
GO
INSERT [dbo].[テーブル3] ([キー], [値]) VALUES (1, N'3aaa')
GO
INSERT [dbo].[テーブル3] ([キー], [値]) VALUES (2, N'3bbb')
GO

Migration des données vers

SQL Server 2019

  • Tableau 1 (Colonne:Clé, Valeur)
  • Tableau 2 (Colonne:Clé, Valeur)

Les enregistrements de chaque table sont vides.

Ce qui suit est un script de création de base de données. Modifiez le chemin d’accès en temps opportun.

USE [master]
GO

CREATE DATABASE [SampleDatabase]
 CONTAINMENT = NONE
 ON  PRIMARY 
( NAME = N'SampleDatabase', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL15.SQLEXPRESS\MSSQL\DATA\SampleDatabase.mdf' , SIZE = 8192KB , MAXSIZE = UNLIMITED, FILEGROWTH = 65536KB )
 LOG ON 
( NAME = N'SampleDatabase_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL15.SQLEXPRESS\MSSQL\DATA\SampleDatabase_log.ldf' , SIZE = 8192KB , MAXSIZE = 2048GB , FILEGROWTH = 65536KB )
 WITH CATALOG_COLLATION = DATABASE_DEFAULT
GO

Vous trouverez ci-dessous un script de création de tableau.

USE [SampleDatabase]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[テーブル1](
	[キー] [int] NOT NULL,
	[値] [nvarchar](50) NULL,
 CONSTRAINT [PK_テーブル1] PRIMARY KEY CLUSTERED 
(
	[キー] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[テーブル2](
	[キー] [int] NOT NULL,
	[値] [nvarchar](50) NULL,
 CONSTRAINT [PK_Table_1] PRIMARY KEY CLUSTERED 
(
	[キー] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO

Comment sauvegarder et restaurer la migration de la base de données

Cette méthode consiste à sauvegarder l’intégralité de la base de données en tant que fichier sur le serveur source, à la copier sur le serveur de destination et à l’ingérer. Par conséquent, toutes les configurations de table sont définies sur la destination, qui sont toutes identiques à la source.

En outre, cette méthode ne vous permet pas de migrer d’une version plus récente de SQL Server vers une version plus ancienne. (Si la différence de version est faible, cela peut être possible))

procédure

Démarrez SQL Server Management Studio à partir de la source. Choisissez un dossier qui correspond à votre version de SQL Server.

Connectez-vous au serveur cible. Les PC utilisant SQL Server Management Studio conviennent aux autres PC, mais ces conseils vous permettent de fonctionner sur vos propres serveurs.

Dans l’Explorateur d’objets, cliquez avec le bouton droit sur la base de données et sélectionnez Sauvegarder pour les tâches.

Supprimez le chemin de sauvegarde initial dans la liste des destinations de sauvegarde dans le coin inférieur droit.

Lorsque vous le supprimez, cliquez sur le bouton Ajouter.

Cliquez sur le bouton Modifier le chemin.

Je pense que le dossier « Sauvegarde » est sélectionné par défaut, alors entrez le nom du fichier à sauvegarder dans le nom de fichier ci-dessous et cliquez sur le bouton OK. Le nom du fichier est facultatif, alors facilitez-le à comprendre.

Cliquez sur le bouton OK.

Vérifiez qu’il a été ajouté à la liste, puis cliquez sur le bouton OK.

Étant donné que le fichier de sauvegarde a été créé dans le dossier suivant, je vais apporter ce fichier au serveur vers lequel je souhaite le migrer. Le chemin d’accès au dossier dépend de la version de SQL Server et du nom de l’instance, alors vérifiez-le en temps opportun.

C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Backup

État après la copie sur le serveur de destination. Il est placé dans le dossier suivant car il est plus facile à charger si vous le placez dans le dossier de sauvegarde de SQL Server. Cela dépend également de la version de SQL Server et du nom de l’instance, veuillez donc le vérifier en temps opportun.

C:\Program Files\Microsoft SQL Server\MSSQL15.SQLEXPRESS\MSSQL\Backup

Démarrez SQL Server Management Studio sur le serveur vers lequel vous effectuez la migration. Vous êtes connecté à votre serveur ici.

Dans l’Explorateur d’objets, cliquez avec le bouton droit sur la base de données de destination, puis sélectionnez Tâches, Restauration et Base de données.

Assurez-vous que Général est sélectionné dans la sélection de la page de gauche, sélectionnez « Périphérique » dans la « Source » à droite, puis cliquez sur le bouton parcourir à droite.

Cliquez sur le bouton Ajouter.

Sélectionnez le fichier que vous avez apporté.

Sélectionnez « Options » dans la sélection de la page de gauche et cochez les deux suivantes. Si vous cochez ces deux éléments, vous pouvez forcer un autre système à permuter lorsqu’il est connecté à la base de données.

  • Remplacer une base de données existante
  • Fermer une connexion existante à la base de données de destination

Toutefois, veuillez noter que si la restauration échoue avec l’option « Fermer la connexion existante à la base de données de destination » cochée, la base de données d’origine peut ne pas être disponible.

Lorsque vous cochez, cliquez sur le bouton OK.

Vous pouvez vérifier que la configuration de la table et les enregistrements ont été entièrement migrés.

Incidemment, si vous essayez de restaurer une version plus récente d’une base de données SQL Server vers une version antérieure de SQL Server, l’erreur suivante s’affiche : Cette méthode de migration des données est basée sur la même version les unes vers les autres ou vers une version plus récente.

Procédure : générer des données au format SQL (script) et les exécuter sur la base de données de destination

Voici comment générer tous les enregistrements d’une table sous forme d’instructions insert. Étant donné que les instructions SQL sont presque identiques, elles peuvent être appliquées à d’autres types de bases de données dans certains cas, quelle que soit la version de SQL Server.

Cependant, comme les enregistrements sont écrits pour insérer des phrases une par une, la taille du fichier augmente. Par conséquent, à mesure que le nombre d’enregistrements augmente, il est inutile, c’est donc une méthode qui peut être utilisée lorsque le nombre est petit.

Il génère également SQL pour la table à partir de laquelle il a été migré, il n’est donc pas disponible s’il est différent de la configuration de table vers laquelle il est migré. Vous pouvez également inclure la création d’une table dans SQL, mais vous devez supprimer la table une fois à la destination.

procédure

Démarrez SQL Server Management Studio à partir de la source. Choisissez un dossier qui correspond à votre version de SQL Server.

Connectez-vous au serveur cible. Les PC utilisant SQL Server Management Studio conviennent aux autres PC, mais ces conseils vous permettent de fonctionner sur vos propres serveurs.

Faites un clic droit sur la base de données cible et sélectionnez « Tâche » et « Générer un script ».

Cliquez sur Suivant.

Vous pouvez choisir les tables pour lesquelles migrer les données. Sélectionnez tout ou sélectionnez un tableau spécifique ici.

Comme la sortie est SQL, vous pouvez sélectionner « Fichier », « Presse-papiers » ou « Afficher dans la fenêtre ». Une fois sélectionné, cliquez sur le bouton « Avancé » en haut à droite.

Sélectionnez Données uniquement dans « Types de données pour générer des scripts » dans le groupe Général.

Après cela, sélectionnez « Suivant » pour confirmer. Vous pouvez voir que SQL est généré. Il ne reste plus qu’à exécuter ce SQL sur la destination.

Comme il ne s’agit que d’une instruction insert, si vous souhaitez que les données soient les mêmes, vous devez supprimer tous les enregistrements à la destination à l’avance.

Migrer également les configurations de table

Si vous souhaitez également migrer des configurations de table, définissez la sélection précédente « Type de données pour générer des scripts » sur Schéma et données.

Un script de création de table est également généré comme suit : Si vous souhaitez l’utiliser, il sera exécuté après la suppression de la table à migrer.

Il génère également un script de création de base de données s’il est également inclus.

Comment migrer des données à l’aide de l’importation et de l’exportation de données

Lorsque vous installez SQL Server, vous installez également un outil appelé Importer et exporter des données. Vous pouvez l’utiliser pour migrer des données d’une table vers un autre serveur.

L’avantage de cette migration d’outils est que les données peuvent également être migrées vers des versions antérieures de SQL Server. Il est un peu difficile à utiliser, mais il peut être migré au niveau de plusieurs minutes même avec environ 1 million de données, il convient donc également à la migration de données volumineuses. Notez toutefois que les serveurs source et de destination doivent être connectés sur un réseau privé et ne peuvent pas être utilisés entre des serveurs avec des réseaux complètement différents.

condition préalable

Créez l’authentification SQL Server ou l’authentification Windows afin de pouvoir accéder à chaque SERVEUR SQL Server à partir d’un PC qui utilise cet outil.

Cette astuce utilise cet outil à partir du serveur à partir duquel il a été migré.

procédure

Sélectionnez Importer et exporter des données dans le menu Démarrer. Il est inclus dans un dossier dans SQL Server, mais le nom du dossier varie en fonction de la version de SQL Server, alors recherchez-le en temps opportun.

Cliquez sur Suivant.

Sélectionnez la base de données à partir de laquelle vous souhaitez migrer. Cette fois, il s’exécute sur le serveur source, vous pouvez donc passer par l’authentification Windows.

paramètre
Remarques sur la valeur de définition du nom du
Sources de données SQL Server Native Client 11.0
Nom du serveur (local) S’il s’agit d’un serveur différent ou si un nom d’instance est spécifié, veuillez mettre sa valeur
authentification Authentification Windows
base de données ExempleBase de données Entrez le nom de la base de données à partir de laquelle vous souhaitez effectuer la migration

Ensuite, définissez les paramètres de connexion pour la base de données de destination. L’authentification Sql Server est utilisée car elle se trouve sur un autre serveur.

paramètre
Remarques sur la valeur de définition du nom du
Sources de données SQL Server Native Client 11.0
Nom du serveur Nom du serveur cible (+ \nom de l’instance)]
authentification Authentification SQL Server
base de données ExempleBase de données Entrez le nom de la base de données vers laquelle migrer réellement

Cochez la case « Copier les données d’une ou plusieurs tables ou vues » et cliquez sur le bouton suivant.

Sélectionnez la table que vous souhaitez migrer. Cette liste affiche également la vue, alors ne la cochez pas.

Si les noms de table source et de table de destination sont identiques, la table à migrer est automatiquement sélectionnée. Il définit également automatiquement le mappage des noms de colonne si les noms de colonne sont les mêmes.

Voici quelques points à garder à l’esprit :

  • Si la clé primaire est automatiquement numérotée, la migration échouera si vous ne cochez pas « Autoriser l’insertion d’ID » dans « Modifier le mappage »
  • S’il n’y a pas de tables vers lesquelles migrer, une table est créée
  • Si la table de destination n’a pas le même nom de colonne, elle ne sera pas migrée. Ne continuez pas à migrer ou à modifier la colonne de destination.
  • Les enregistrements sont ajoutés par défaut. Si vous souhaitez le remplacer, supprimez l’enregistrement à la destination à l’avance ou cochez « Supprimer les lignes de la table de destination » dans « Modifier le mappage »

En fait, vous devez tenir compte de ce qui précède, mais dans ces conseils, il n’y a pas de données à la destination et il n’y a pas de numérotation automatique, vous pouvez donc procéder sans rien définir.

Assurez-vous que « Exécuter maintenant » est coché et cliquez sur « Suivant ».

Cliquez sur Terminé.

La migration des données commence. Fermez lorsque toutes les migrations sont terminées.

Si vous examinez la base de données cible, vous pouvez vérifier qu’une table qui n’existait pas a été créée. Vous pouvez également voir qu’il n’y a plus de colonnes pour les tables existantes.

Vous pouvez vérifier que les données sont en cours de migration. Remarquez les colonnes du tableau 2 qui ne sont pas mappées et n’ont pas été migrées.