Description de la prise en charge des fichiers de base de données réseau dans SQL Server

Cet article décrit la prise en charge des fichiers de base de données réseau dans SQL Server et comment configurer SQL Server pour stocker une base de données sur un serveur en réseau ou sur un serveur de stockage NAS.

Version du produit d’origine : SQL Server
Numéro de la base de connaissances d’origine : 304261

Résumé

Microsoft vous recommande généralement d’utiliser un réseau de zone de stockage (SAN) ou un disque attaché localement pour le stockage de vos fichiers de base de données Microsoft SQL Server, car cette configuration optimise les performances et la fiabilité SQL Server. Par défaut, l’utilisation de fichiers de base de données réseau stockés sur un serveur en réseau ou un serveur NAS (Network Attached Storage) n’est pas activée pour SQL Server.

Toutefois, vous pouvez configurer SQL Server pour stocker une base de données sur un serveur réseau ou un serveur NAS. Les serveurs utilisés à cette fin doivent répondre aux exigences SQL Server pour l’ordre de l’écriture des données et les garanties d’écriture directe. Ces informations sont détaillées dans la section Informations supplémentaires .

Les conditions suivantes décrivent l’utilisation des fichiers de base de données réseau stockés sur un serveur réseau ou un serveur NAS :

  • Cette utilisation est activée par défaut dans Microsoft SQL Server 2008 R2 et versions ultérieures.

  • Cette utilisation nécessite que l’indicateur de trace de démarrage -T1807 fonctionne dans Microsoft SQL Server 2008 et versions antérieures. À compter de SQL Server 2012, l’indicateur de trace n’est plus nécessaire. Pour plus d’informations sur l’activation des indicateurs de trace de démarrage, consultez Options de démarrage du service moteur de base de données.

Appareils qualifiés WHQL (Windows Hardware Quality Lab)

Les serveurs Microsoft Windows et les serveurs en réseau ou les serveurs de stockage NAS qualifiés WHQL (Windows Hardware Quality Lab) répondent automatiquement aux garanties d’écriture et d’écriture directe des données requises pour prendre en charge un périphérique de stockage SQL Server. Microsoft prend en charge les problèmes liés aux applications et au stockage dans ces configurations.

Remarque

Pour être prise en charge par SQL Server, la solution de stockage NAS doit également répondre à toutes les exigences répertoriées dans le document de téléchargement : SQL Server exigences du programme de fiabilité d’E/S.

Autres appareils

Si vous utilisez un périphérique de stockage non qualifié WHQL avec SQL Server qui prend en charge les garanties d’E/S pour l’utilisation de base de données transactionnelle décrites dans cet article, Microsoft fournit une prise en charge complète des applications SQL Server et SQL Server. Toutefois, les problèmes avec ou causés par l’appareil ou son sous-système de stockage sont adressés au fabricant de l’appareil. Si vous utilisez un périphérique de stockage non qualifié WHQL qui ne prend pas en charge les garanties d’E/S pour l’utilisation de base de données transactionnelle décrites dans cet article, Microsoft ne peut pas fournir de prise en charge des applications SQL Server ou SQL Server. Pour déterminer si votre périphérique de stockage non qualifié WHQL prend en charge les garanties d’E/S pour l’utilisation de base de données transactionnelle décrites dans cet article ou conçues pour une utilisation de base de données, case activée avec le fournisseur de votre appareil. Contactez également le fournisseur de votre appareil pour vérifier que vous avez correctement déployé et configuré l’appareil pour une utilisation de base de données transactionnelle.

Plus d’informations

Par défaut, dans SQL Server 2008 et les versions antérieures, vous ne pouvez pas créer une base de données SQL Server sur un partage de fichiers réseau. Toute tentative de création d’un fichier de base de données sur un emplacement réseau MAPpé ou UNC génère l’un des messages d’erreur suivants :

  • Message d'erreur 1

    5105 « Erreur d’activation de l’appareil »

  • Message d'erreur 2

    5110 « Le fichier 'file_name' se trouve sur un périphérique réseau non pris en charge pour les fichiers de base de données ».

Ce comportement est normal. L’indicateur de trace 1807 contourne la case activée et vous permet de configurer SQL Server avec des fichiers de base de données réseau. SQL Server et la plupart des autres systèmes de base de données d’entreprise, utilisent un journal des transactions et la logique de récupération associée pour maintenir la cohérence de la base de données transactionnelle en cas de défaillance du système ou d’arrêt non managé. Ces protocoles de récupération s’appuient sur la possibilité d’écrire directement sur le support disque afin que, lorsqu’une demande d’entrée/sortie (E/S) du système d’exploitation retourne au gestionnaire de base de données, le système de récupération peut s’assurer que l’écriture est terminée ou que l’écriture peut être garantie. Toute défaillance d’un composant logiciel ou matériel pour respecter ce protocole peut entraîner une perte ou une altération partielle ou totale des données en cas de défaillance du système. Pour plus d’informations sur ces aspects des protocoles de journalisation et de récupération dans SQL Server, consultez Description des algorithmes de journalisation et de stockage de données qui étendent la fiabilité des données dans SQL Server.

Microsoft ne prend pas en charge SQL Server fichiers de base de données en réseau sur un NAS ou des serveurs de stockage en réseau qui ne répondent pas à ces exigences en écriture directe et en écriture.

En raison des risques d’erreurs réseau qui compromettent l’intégrité de la base de données, ainsi que des conséquences possibles sur les performances qui peuvent résulter de l’utilisation de partages de fichiers réseau pour stocker des bases de données, Microsoft vous recommande de stocker les fichiers de base de données sur des sous-systèmes de disque local ou sur des réseaux de zone de stockage (SAN).

Un système de stockage attaché au réseau (NAS) est un système de stockage basé sur des fichiers auquel les clients s’attachent via le redirecteur réseau à l’aide d’un protocole réseau (tel que TCP/IP). Par défaut, si l’accès à une ressource de disque nécessite qu’un partage soit mappé, ou si la ressource de disque apparaît en tant que serveur distant via un chemin UNC (par exemple, \Servername\Sharename) sur le réseau, le système de stockage sur disque n’est pas pris en charge comme emplacement pour les bases de données SQL Server.

Problèmes de performances

SQL Server, comme d’autres systèmes de base de données d’entreprise, peuvent placer une charge importante sur un sous-système d’E/S. Dans la plupart des applications de base de données volumineuses, la configuration et le réglage des E/S physiques jouent un rôle important dans les performances globales du système. Il existe trois principaux facteurs de performances d’E/S à prendre en compte :

  • Bande passante d’E/S : bande passante agrégée, généralement mesurée en mégaoctets par seconde qui peut être maintenue sur un appareil de base de données.
  • Latence d’E/S : latence, généralement mesurée en millisecondes, entre une demande d’E/S par le système de base de données et le point où la demande d’E/S est terminée.
  • Coût du processeur : coût du processeur hôte, généralement mesuré en microsecondes d’UC, pour que le système de base de données effectue une seule E/S.

L’un de ces facteurs d’E/S peut devenir un goulot d’étranglement et vous devez prendre en compte tous ces facteurs lorsque vous concevez un système d’E/S pour une application de base de données.

Dans sa forme la plus simple, une solution NAS utilise une pile logicielle de redirecteur réseau standard, une interface réseau standard carte (NIC) et des composants Ethernet standard. L’inconvénient de cette configuration est que toutes les E/S de fichier sont traitées via la pile réseau et sont soumises aux limitations de bande passante du réseau lui-même. Cela peut créer des problèmes de performances et de fiabilité des données, en particulier dans les programmes qui nécessitent des niveaux élevés d’E/S de fichiers, comme SQL Server. Dans certaines configurations NAS testées par Microsoft, le débit d’E/S était d’un tiers (1/3) de celui d’une solution de stockage en attachement direct sur le même serveur. Dans cette même configuration, le coût processeur pour effectuer une E/S via le périphérique NAS était deux fois supérieur à celui d’une E/S locale. À mesure que les appareils NAS et l’infrastructure réseau évoluent, ces ratios peuvent également s’améliorer par rapport au stockage attaché direct ou aux SAN. En outre, si vos données d’application sont principalement mises en cache dans le pool de mémoires tampons de base de données et que vous ne rencontrez aucun des goulots d’étranglement d’E/S décrits, les performances d’un système NAS sont probablement suffisantes pour votre application.

Considérations relatives à la sauvegarde et à la restauration

SQL Server fournit l’interface VDI (Virtual Device Interface) pour la sauvegarde. L’infrastructure VDI fournit aux éditeurs de logiciels de sauvegarde un moyen hautement performant, évolutif et fiable d’effectuer des sauvegardes à chaud et de restaurer SQL Server bases de données.

Le logiciel de sauvegarde fonctionne sur les fichiers de base de données stockés sur des périphériques NAS via VDI sans prise en charge spéciale spécifique au NAS. Toutefois, cela entraîne beaucoup de trafic réseau supplémentaire lors de la sauvegarde et de la restauration. Pendant la sauvegarde via VDI, SQL Server lit les fichiers à distance et transmet les données au logiciel de sauvegarde tiers qui s’exécute sur l’ordinateur SQL Server. L’opération de restauration est analogue.

Pour éviter la surcharge réseau supplémentaire, le fournisseur de sauvegarde doit fournir une prise en charge spécifique au NAS par le fournisseur de sauvegarde et le fournisseur NAS. SQL Server VDI permet au logiciel de sauvegarde de tirer parti des technologies matérielles (split-miroir) ou logicielles (copie sur écriture) prises en charge par les périphériques NAS pour effectuer des copies rapides des fichiers de base de données locaux sur le NAS. Ces technologies évitent non seulement la surcharge liée à la copie des fichiers sur le réseau à des fins de sauvegarde, mais elles peuvent également réduire les temps de restauration par ordre de grandeur.

Les sauvegardes stockées sur nas sont vulnérables aux mêmes défaillances qui affectent les fichiers de base de données stockés sur le NAS. Vous devez envisager de protéger ces sauvegardes en les copiant sur d’autres supports.

Attention

Vous pouvez rencontrer une altération de la base de données dans la sauvegarde si vous utilisez des technologies de sauvegarde NAS sans SQL Server prise en charge de VDI. Ces altérations incluent des pages endommagées ou des incohérences entre les fichiers journaux et les fichiers de données s’ils sont stockés sur des appareils distincts. SQL Server risque de ne pas détecter les pages endommagées ou les incohérences tant que vous n’avez pas restauré la base de données et que vous n’avez pas accès aux données endommagées. Microsoft ne prend pas en charge l’utilisation des technologies de sauvegarde NAS qui ne sont pas coordonnées avec SQL Server.

La prise en charge de la sauvegarde et la prise en charge des fournisseurs NAS pour SQL Server VDI varient. Contactez vos fournisseurs nas et logiciels de sauvegarde pour plus d’informations sur la prise en charge de VDI.

Microsoft demande instamment aux clients qui envisagent de déployer une solution NAS pour les bases de données SQL Server de consulter leur fournisseur NAS afin de s’assurer que la conception de la solution de bout en bout est destinée à une utilisation de base de données. De nombreux fournisseurs NAS ont des guides de bonnes pratiques et des configurations certifiées pour cette utilisation. Microsoft recommande également aux clients d’évaluer leurs performances d’E/S pour s’assurer qu’aucun des facteurs d’E/S mentionnés précédemment n’entraîne un goulot d’étranglement dans leur application.

La liste suivante décrit la prise en charge des fichiers réseau sur les clusters de basculement SQL :

Notes supplémentaires

Une utilisation incorrecte d’un logiciel de base de données avec un produit NAS, ou une utilisation de base de données avec un produit NAS mal configuré, peut entraîner une perte de données, y compris la perte totale de base de données. Si le périphérique NAS ou le logiciel réseau ne respecte pas complètement les garanties de données, telles que l’ordre d’écriture ou l’écriture directe, les défaillances matérielles, logicielles ou même d’alimentation peuvent sérieusement compromettre l’intégrité des données.

References