Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article décrit la prise en charge des fichiers de base de données réseau dans SQL Server et la configuration de 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 base de connaissances d’origine : 304261
Résumé
Microsoft vous recommande généralement d’utiliser un réseau san (Storage Area Network) 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é de SQL Server. Par défaut, l’utilisation de fichiers de base de données réseau stockés sur un serveur réseau ou un serveur NAS (Network Attached Storage) n’est pas activé 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 à cet effet doivent répondre aux exigences de SQL Server pour les garanties d’écriture de données et d’écriture directe. Ces informations sont détaillées dans la section Plus d’informations.
Les conditions suivantes décrivent l’utilisation de 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 les 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 Moteur de base de données Options de démarrage du service.
Appareils qualifiés pour windows Hardware Quality Lab (WHQL)
Les serveurs Microsoft Windows et les serveurs de stockage EN réseau ou serveurs de stockage NAS qui sont qualifiés pour Windows Hardware Quality Lab (WHQL) répondent automatiquement aux garanties d’écriture et d’écriture des données requises pour prendre en charge un appareil de stockage SQL Server. Microsoft prend en charge les problèmes liés à l’application et au stockage dans ces configurations.
Note
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 : Exigences du programme de fiabilité d’E/S SQL Server.
Autres appareils
Si vous utilisez un appareil 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 liés ou provoqués par l’appareil ou son sous-système de stockage sont référencés par le fabricant de l’appareil. Si vous utilisez un appareil 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écrite dans cet article, Microsoft ne peut pas prendre en charge les applications SQL Server ou SQL Server. Pour déterminer si votre appareil 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, vérifiez auprès de votre fournisseur d’appareils. Contactez également votre fournisseur d’appareils pour vérifier que vous avez correctement déployé et configuré l’appareil pour l’utilisation de la base de données transactionnelle.
Plus d’informations
Par défaut, dans SQL Server 2008 et 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 appareil réseau non pris en charge pour les fichiers de base de données. »
Il s’agit du comportement attendu. L’indicateur de trace 1807 contourne la vérification et vous permet de configurer SQL Server avec des fichiers de base de données basés sur le réseau. SQL Server, et la plupart des autres systèmes de base de données d’entreprise, utilisent un journal des transactions et une logique de récupération associée pour maintenir la cohérence des bases de données transactionnelles 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 de disque afin que lorsqu’une demande d’écriture 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 être sûr que l’écriture est terminée ou que l’achèvement de l’écriture peut être garanti. Toute défaillance par n’importe quel logiciel ou composant 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 de la journalisation et des protocoles 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 les fichiers de base de données en réseau SQL Server sur des serveurs NAS ou de stockage en réseau qui ne répondent pas à ces exigences d’écriture et d’écriture.
En raison des risques liés aux erreurs réseau qui compromettent l’intégrité de la base de données, ainsi que les implications possibles en termes de 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 des 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 NAS (Network Attached Storage) 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 de disque n’est pas pris en charge comme emplacement pour les bases de données SQL Server.
Problèmes de performance
SQL Server, comme d’autres systèmes de base de données d’entreprise, peut 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 des E/S physiques et le réglage jouent un rôle significatif 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 soutenue 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 de l’UC hôte, généralement mesuré en microsecondes processeur, pour que le système de base de données termine 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 carte d’interface réseau standard et des composants Ethernet standard. L’inconvénient de cette configuration est que tous les E/S de fichier sont traités par le biais de la pile réseau et sont soumis 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 fichier, tels que SQL Server. Dans certaines configurations NAS testées par Microsoft, le débit d’E/S était un tiers (1/3) celui d’une solution de stockage attachée directe sur le même serveur. Dans cette même configuration, le coût de l’UC pour effectuer une E/S via l’appareil 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 directement attaché ou aux réseaux PARTAGÉs. 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 goulot d’étranglement d’E/S décrit, les performances sur un système NAS sont probablement suffisantes pour votre application.
Considérations relatives à la sauvegarde et à la restauration
SQL Server fournit l’interface de périphérique virtuel (VDI) pour la sauvegarde. L’infrastructure VDI fournit aux fournisseurs de logiciels de sauvegarde un moyen performant, évolutif et fiable d’effectuer des sauvegardes à chaud et de restaurer des bases de données SQL Server.
Le logiciel de sauvegarde fonctionne sur les fichiers de base de données stockés sur des appareils NAS via VDI sans prise en charge spéciale spécifique au NAS. Toutefois, cela entraîne un grand nombre de trafic réseau supplémentaires lors de la sauvegarde et de la restauration. Lors de 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 (miroir fractionné) ou logicielles (copie en écriture) prises en charge par les appareils 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 pour la 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 prise en charge de SQL Server VDI. Cette corruption inclut des pages ou des incohérences déchirées entre les fichiers journaux et les fichiers de données s’ils sont stockés sur des appareils distincts. SQL Server peut ne pas détecter les pages ou incohérences déchirées tant que vous ne restaurez pas la base de données et que vous accédez 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 des sauvegardes et la prise en charge du fournisseur NAS pour SQL Server VDI varient. Pour plus d’informations sur la prise en charge de VDI, consultez vos fournisseurs nas et logiciels de sauvegarde.
Microsoft demande aux clients qui envisagent un déploiement d’une solution NAS pour les bases de données SQL Server afin de consulter leur fournisseur NAS pour 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 provoque un goulot d’étranglement dans leur application.
La liste suivante décrit la prise en charge des fichiers basés sur le réseau sur les clusters de basculement SQL :
SQL Server 2008 R2 et versions antérieures : non pris en charge
SQL Server 2012 et versions ultérieures : prise en charge
Pour plus d’informations, consultez la rubrique relative à la documentation en ligne de SQL Server suivante :
Installer SQL Server avec le stockage de partage de fichiers SMB
Notes supplémentaires
Une utilisation incorrecte du 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 l’appareil 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, le matériel, les logiciels ou même les pannes d’alimentation peuvent compromettre sérieusement l’intégrité des données.