Conditions préalables, limitations et recommandations relatives à la mise en miroir de bases de donnéesPrerequisites, Restrictions, and Recommendations for Database Mirroring

Cette rubrique s’applique à : OuiSQL Serveraucunbase de données SQL AzureaucunAzure SQL Data Warehouse aucun Parallel Data WarehouseTHIS TOPIC APPLIES TO: yesSQL ServernoAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Note

Cette fonctionnalité sera supprimée dans une prochaine version de Microsoft SQL Server.This feature will be removed in a future version of Microsoft SQL Server. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement, et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité.Avoid using this feature in new development work, and plan to modify applications that currently use this feature. Utilisez Groupes de disponibilité Always OnAlways On availability groups à la place. Use Groupes de disponibilité Always OnAlways On availability groups instead.

Cette rubrique décrit les conditions préalables et les recommandations relatives à la configuration de la mise en miroir de bases de données.This topic describes the prerequisites and recommendations for setting up database mirroring. Pour une présentation de la mise en miroir de bases de données, consultez Mise en miroir de bases de données (SQL Server).For an introduction to database mirroring, see Database Mirroring (SQL Server).

Prise en charge de la mise en miroir de bases de donnéesSupport For Database Mirroring

Pour plus d’informations sur la prise en charge de la mise en miroir de bases de données dans SQL Server 2017SQL Server 2017, consultez Éditions et fonctionnalités prises en charge de SQL Server 2016.For information about support for database mirroring in SQL Server 2017SQL Server 2017, see Editions and Supported Features for SQL Server 2016.

Notez que la mise en miroir de bases de données fonctionne avec tous les niveaux de compatibilité de base de données pris en charge.Note that database mirroring works with any supported database compatibility level. Pour plus d’informations sur les niveaux de compatibilité pris en charge, consultez Niveau de compatibilité ALTER DATABASE (Transact-SQL).For information about the supported compatibility levels, see ALTER DATABASE Compatibility Level (Transact-SQL).

Conditions préalablesPrerequisites

  • Pour établir une session de mise en miroir, les serveurs partenaires et le serveur témoin, s'il existe, doivent être exécutés sur la même version de SQL ServerSQL Server.For a mirroring session to be established, the partners and the witness, if any, must be running on the same version of SQL ServerSQL Server.

  • Les deux serveurs partenaires, c'est-à-dire le principal et le serveur miroir doivent exécuter la même version de SQL ServerSQL Server.The two partners, that is the principal server and mirror server, must be running the same edition of SQL ServerSQL Server. Le serveur témoin, le cas échéant, peut s'exécuter sur n'importe quelle édition de SQL ServerSQL Server qui prend en charge la mise en miroir de bases de données.The witness, if any, can run on any edition of SQL ServerSQL Server that supports database mirroring.

    Note

    Vous pouvez mettre à niveau des instances de serveur qui participent à une session de mise en miroir vers une version plus récente de SQL ServerSQL Server.You can upgrade server instances that are partners in a mirroring session to a more recent version of SQL ServerSQL Server. Pour plus d’informations, consultez Mise à niveau des instances en miroir.For more information, see Upgrading Mirrored Instances.

  • La base de données doit utiliser le mode de récupération complète.The database must use the full recovery model. Les modes de récupération simples et utilisant les journaux de transactions ne prennent pas en charge la mise en miroir de bases de données.The simple and bulk-logged recovery models do not support database mirroring. Par conséquent, toutes les opérations en bloc sont entièrement journalisées pour une base de données mise en miroir.Therefore, bulk operations are always fully logged for a mirrored database. Pour plus d’informations sur les modes de récupération, consultez Modes de récupération (SQL Server).For information about recovery models, see Recovery Models (SQL Server).

  • Vérifiez que le serveur miroir possède suffisamment d'espace disque pour la base de données miroir.Verify that the mirror server has sufficient disk space for the mirror database.

    Note

    Pour plus d’informations sur l’utilisation de la mise en miroir de bases de données sur une base de données répliquée, consultez Mise en miroir de bases de données et réplication (SQL Server).For information about how to use database mirroring on a replicated database, see Database Mirroring and Replication (SQL Server).

  • Lors de la création de la base de données en miroir sur le serveur miroir, assurez-vous que vous restaurez la sauvegarde de la base de données principale en spécifiant le même nom de base de données à l'aide de WITH NORECOVERY.When you are creating the mirror database on the mirror server, make sure that you restore the backup of the principal database specifying the same database name WITH NORECOVERY. De plus, toutes les sauvegardes du journal créées après la réalisation de cette sauvegarde doivent également être appliquées, à nouveau avec WITH NORECOVERY.Also, all log backups that were created after that backup was taken must also be applied, again WITH NORECOVERY.

    Important

    Si la mise en miroir de bases de données a été arrêtée, toutes les sauvegardes du journal réalisées ultérieurement sur la base de données principale doivent être appliquées à la base de données miroir avant de pouvoir redémarrer la mise en miroir.If database mirroring has been stopped, before you can restart it, any subsequent log backups taken on the principal database must be applied to the mirror database.

RestrictionsRestrictions

  • Seules les bases de données utilisateur peuvent être mises en miroir.Only user databases can be mirrored. Vous ne pouvez pas mettre en miroir les bases de données master, msdb, tempdbou model .You cannot mirror the master, msdb, tempdb, or model databases.

  • Une base de données mise en miroir ne peut pas être renommée pendant une session de mise en miroir de bases de données.A mirrored database cannot be renamed during a database mirroring session.

  • La mise en miroir de bases de données ne prend pas en charge FILESTREAM.Database mirroring does not support FILESTREAM. Un groupe de fichiers FILESTREAM ne peut pas être créé sur le serveur principal.A FILESTREAM filegroup cannot be created on the principal server. La mise en miroir de bases de données ne peut pas être configurée pour une base de données qui contient des groupes de fichiers FILESTREAM.Database mirroring cannot be configured for a database that contains FILESTREAM filegroups.

  • La mise en miroir de bases de données n'est pas prise en charge par les transactions entre bases de données ou les transactions distribuées.Database mirroring is not supported with either cross-database transactions or distributed transactions. Pour plus d’informations, consultez Transactions entre bases de données et transactions distribuées pour des groupes de disponibilité Always On et la mise en miroir de bases de données (SQL Server).For more information, see Cross-Database Transactions and Distributed Transactions for Always On Availability Groups and Database Mirroring (SQL Server).

Recommandations relatives à la configuration des serveurs partenairesRecommendations for Configuring Partner Servers

  • Il est conseillé d'exécuter les partenaires sur des systèmes comparables pouvant supporter des charges de travail identiques.The partners should run on comparable systems that can handle identical workloads.

    Note

    Si vous prévoyez d'utiliser le mode Haute sécurité avec basculement automatique, la charge normale sur chacun des partenaires de basculement doit utiliser moins de 50 % de l'UC.If you plan to use high-safety mode with automatic failover, the normal load on each failover partner should be less than 50 percent of the CPU. Si votre charge de travail surcharge l'UC, un partenaire de basculement peut se retrouver dans l'incapacité d'envoyer des pings aux autres instances de serveur de la session de mise en miroir, ce qui provoquera un basculementIf your work load overloads the CPU, a failover partner might be unable to ping the other server instances in the mirroring session. inutile.This causes a unnecessary failover. Si vous ne parvenez pas à maintenir l'utilisation de l'UC au-dessous de 50 %, nous vous recommandons d'utiliser soit le mode Haute sécurité sans basculement automatique, soit le mode Haute performance.If you cannot keep the CPU usage under 50 percent, we recommend that you use either high-safety mode without automatic failover or high-performance mode.

  • Si possible, le chemin d'accès (y compris la lettre de lecteur) de la base de données miroir doit être identique au chemin d'accès de la base de données principale.If possible, the path (including the drive letter) of the mirror database should be identical to the path of the principal database. Vous devez inclure l'option MOVE dans l'instruction RESTORE si les dispositions de fichiers doivent différer.You must include the MOVE option in the RESTORE statement if the file layouts must differ. Par exemple, si la base de données principale se trouve sur le lecteur « F: » mais que le système miroir n'a pas de lecteur F:.For example, if the principal database is on drive 'F:' but the mirror system lacks an F: drive.

    Important

    Si vous déplacez les fichiers de base de données pendant la création de la base de données miroir, vous risquez par la suite de ne pas pouvoir ajouter de fichiers à la base de données sans suspendre la mise en miroir.If you move the database files when you create the mirror database, you might be unable to add files to the database later without mirroring being suspended.

  • Toutes les instances de serveur d'une session de mise en miroir doivent utiliser la même page de codes maître et le même classement.All of the server instances in a mirroring session should use the same master code page and collation. Si ce n'est pas le cas, un problème peut se produire pendant la configuration de la mise en miroir.Differences can cause a problem during mirroring setup.

  • Éventuellement, évaluez le temps de basculement d'une base de données pour vous assurer que la configuration du système va fournir les performances nécessaires.Optionally, estimate the time to fail over a database, to make sure that the system configuration will provide the performance you require. Pour plus d’informations, consultez Estimer l’interruption de service au cours d’un basculement de rôle (mise en miroir de bases de données).For more information, see Estimate the Interruption of Service During Role Switching (Database Mirroring).

  • Pour des performances optimales, utilisez une carte d'interface réseau dédiée à la mise en miroir.For best performance, use a dedicated network adapter (network interface card) for mirroring.

  • Nous n'avons pas de recommandations sur la fiabilité suffisante d'un réseau WAN (Wide-Area Network) pour la mise en miroir d'une base de données en mode haute sécurité.We make no recommendations about whether a wide-area network (WAN) is reliable enough for database mirroring in high-safety mode. Si vous optez pour le mode Haute sécurité à la place d'un réseau WAN, soyez prudent quant à la manière dont vous ajoutez un serveur témoin à la session, en raison du risque de basculements automatiques indésirables.If you decide to use high-safety mode over a WAN, be cautious about how you add a witness to the session, because unwanted automatic failovers can occur. Pour plus d’informations, consultez Recommandations relatives au déploiement de la mise en miroir de bases de données, plus loin dans cette rubrique.For more information, see Recommendations for Deploying Database Mirroring, later in this topic.

Recommandations relatives au déploiement de la mise en miroir de bases de donnéesRecommendations for Deploying Database Mirroring

Le fonctionnement asynchrone permet d'optimiser les performances de la mise en miroir de bases de données.Optimal database mirroring performance is obtained by using asynchronous operation. Une session de mise en miroir qui fonctionne en mode synchrone peut enregistrer une baisse de performance lorsque sa charge de travail génère de grandes quantités de données de journaux de transactions.A mirroring session that uses synchronous operation might experience slowed performance when its workload generates large amounts of transaction log data.

Dans les environnements de test, il convient d'explorer tous les modes de fonctionnement pour évaluer les performances de la mise en miroir de bases de données.In test environments, it is appropriate to explore all the operating modes to evaluate how database mirroring performs. Toutefois, avant de déployer la mise en miroir dans un environnement de production, assurez-vous que vous comprenez comment le réseau fonctionne en situation réelle.However, before you deploy mirroring into a production environment, make sure that you understand how the network functions in the real world.

Le mode Haute sécurité avec basculement automatique est conçu pour un réseau de haute capacité équipé d'une connexion dédiée ou d'une configuration réseau relativement simple qui minimise les sources possibles de défaillance du réseau.High-safety mode with automatic failover is designed for a high-service network that has either a dedicated connection or a fairly simple network configuration that minimizes the sources of possible network failures. Ce type d'environnement réseau de haute qualité est nécessaire au mode haute sécurité avec basculement automatique et est recommandé pour toutes les sessions de mise en miroir de bases de données.Such a high-quality network environment is necessary for high-safety mode with automatic failover and is recommended for all database mirroring sessions. Toutefois, les modes Haute performance et Haute sécurité sans basculement automatique sont beaucoup moins tributaires de la fiabilité du réseau.However, high-performance mode and high-safety mode without automatic failover are much less affected by network reliability.

Par conséquent, pour les environnements de production, nous vous invitons à suivre les instructions de déploiement ci-dessous :Therefore, for production environments we recommend that you adhere to the following deployment guidelines:

  1. Lancez l'exécution en mode Haute performance, asynchrone.Start running in asynchronous, high-performance mode. Ce mode est le moins sensible à l'environnement réseau et fournit la meilleure configuration pour explorer le fonctionnement de la mise en miroir.This mode is the least sensitive to the network environment and provides the best configuration for exploring how mirroring works. Nous vous recommandons d'exécuter votre système en mode asynchrone avant d'être certain que votre bande passante prend en charge la mise en miroir et pour vous permettre d'approfondir vos connaissances sur la configuration de la mise en miroir et sur les performances du mode asynchrone dans votre environnement.We recommend that you run your system asynchronously until you are confident that your bandwidth supports mirroring and you have developed an understanding of mirroring setup and of the performance of asynchronous mode in your environment. Pour plus d'informations, voir Database Mirroring Operating Modes.For more information, see Database Mirroring Operating Modes.

    Important

    Au cours de la phase de test, nous vous recommandons de surveiller vos sessions pour vérifier qu'elles ne contiennent pas d'erreurs réseau susceptibles de faire échouer la mise en miroir de bases de données.Throughout testing, we recommend that you monitor your sessions for network errors that cause database mirroring to fail. Pour plus d'informations sur les sources de défaillance potentielles, consultez Possible Failures During Database Mirroring.For more information about potential sources of failure, see Possible Failures During Database Mirroring. Pour plus d’informations sur la manière de surveiller la mise en miroir de bases de données, consultez Surveillance de la mise en miroir de bases de données (SQL Server).For information about how to monitor database mirroring, see Monitoring Database Mirroring (SQL Server).

  2. Une fois que vous êtes certain que le fonctionnement asynchrone correspond aux besoins de l'entreprise, vous pouvez éventuellement essayer le fonctionnement synchrone pour améliorer la protection de vos données.When you are confident that asynchronous operation is meeting the business needs, you might want to try synchronous operation to improve your data protection. Si vous décidez de tester la mise en miroir synchrone dans votre environnement, nous vous recommandons de commencer par le mode Haute sécurité sans basculement automatique.When you test how synchronous mirroring works in your environment, we recommend that first you test high-safety mode without automatic failover. Le but principal de cette opération est d'évaluer la manière dont le fonctionnement synchrone affecte les performances des bases de données.The primary purpose of this testing is to see how synchronous operation affects the database performance. Pour plus d'informations, voir Database Mirroring Operating Modes.For more information, see Database Mirroring Operating Modes.

  3. N'activez pas le basculement automatique avant de vous être assuré que le mode Haute sécurité sans basculement automatique répond aux besoins de l'entreprise et que les erreurs réseau ne provoquent pas de défaillances.Wait to enable automatic failover until you are confident that high-safety mode without automatic failover is meeting the business needs and that network errors are not causing failures. Pour plus d’informations, consultez Basculement de rôle durant une session de mise en miroir de bases de données (SQL Server).For more information, see Role Switching During a Database Mirroring Session (SQL Server).

Voir aussiSee Also

Configuration de la mise en miroir d’une base de données (SQL Server) Setting Up Database Mirroring (SQL Server)
Sécurité du transport de la mise en miroir de bases de données et des groupes de disponibilité Always On (SQL Server) Transport Security for Database Mirroring and Always On Availability Groups (SQL Server)
Mise en miroir de bases de données (SQL Server) Database Mirroring (SQL Server)
Résoudre des problèmes de configuration de mise en miroir de bases de données (SQL Server)Troubleshoot Database Mirroring Configuration (SQL Server)