Installer SQL Server avec le stockage de partage de fichiers SMBInstall SQL Server with SMB fileshare storage

Depuis SQL Server 2012SQL Server 2012, les bases de données système (Master, Model, MSDB et TempDB) et les bases de données utilisateur Moteur de base de donnéesDatabase Engine peuvent être installées avec le serveur de fichiers SMB (Server Message Block) comme option de stockage.Starting with SQL Server 2012SQL Server 2012, system databases (Master, Model, MSDB, and TempDB), and Moteur de base de donnéesDatabase Engine user databases can be installed with Server Message Block (SMB) file server as a storage option. Cela s'applique à la fois aux installations autonomes SQL ServerSQL Server et aux installations de cluster de basculement (FCI) SQL ServerSQL Server .This applies to both SQL ServerSQL Server stand-alone and SQL ServerSQL Server failover cluster installations (FCI).

Note

Le flux de fichier n'est pas pris en charge actuellement sur un partage de fichiers SMB.Filestream is currently not supported on an SMB file share.

Considérations relatives à l’installationInstallation considerations

Formats de partage de fichiers SMB :SMB fileshare formats:

Lors de la spécification du partage de fichiers SMB, ce qui suit correspond à des formats de chemin d'accès UNC (Universal Naming Convention) pris en charge pour les bases de données autonomes et FCI :While specifying the SMB file share, the following are supported Universal Naming Convention (UNC) Path formats for standalone and FCI databases:

  • \\NomServeur\NomPartage\\\ServerName\ShareName\

  • \\NomServeur\NomPartage\\ServerName\ShareName

    Pour plus d’informations sur la convention de nommage (UNC), consultez UNC.For more information about Universal Naming Convention, see UNC.

    Le chemin d'accès UNC de bouclage (chemin d'accès UNC dont le nom du serveur est localhost, 127.0.0.1 ou le nom d'ordinateur local) n'est pas pris en charge.The loopback UNC path (a UNC path whose server name is localhost, 127.0.0.1, or the local machine name) is not supported. Exemple de cas particulier : SQL ServerSQL Server utilisant le cluster du serveur de fichiers qui est hébergé sur le même nœud sur lequel SQL ServerSQL Server est en cours d'exécution n'est pas non plus pris en charge.As a special case, SQL ServerSQL Server using File Server Cluster which is hosted on the same node SQL ServerSQL Server is running is also not supported. Pour éviter cette situation, il est recommandé de créer SQL ServerSQL Server et un cluster de serveur de fichiers sur des clusters Windows distincts.To prevent this situation, it is recommended that SQL ServerSQL Server and File Server Cluster to be created on separated Windows Clusters.

    Les formats de chemin UNC ci-dessous ne sont pas pris en charge :The below UNC path formats are not supported:

  • Chemin de bouclage, par exemple \\localhost\..\ ou \\127.0.0.1\...\Loopback path, e.g., \\localhost\..\ or \\127.0.0.1\...\

  • Partages administratifs, par exemple, \\nom_serveur\x$Administrative shares, e.g., \\servername\x$

  • Autres formats de chemin UNC tels que \\?\x:\Other UNC path formats like \\?\x:\

  • Lecteurs réseau mappés.Mapped network drives.

Instructions DDL (Data Definition Language) prises en chargeSupported data definition language (DDL) statements

Les instructions Transact-SQLTransact-SQL DDL et les procédures stockées du moteur de base de données suivantes prennent en charge les partages de fichiers SMB :The following Transact-SQLTransact-SQL DDL statements and database engine stored procedures support SMB file shares:

  1. CREATE DATABASE (SQL Server Transact-SQL)CREATE DATABASE (SQL Server Transact-SQL)

  2. ALTER DATABASE (Transact-SQL)ALTER DATABASE (Transact-SQL)

  3. RESTORE (Transact-SQL)RESTORE (Transact-SQL)

  4. BACKUP (Transact-SQL)BACKUP (Transact-SQL)

Options d'installationInstallation options

  • Dans la page « Configuration du moteur de base de données » de l’interface utilisateur de l’installation, sous l’onglet « Répertoires de données », affectez au paramètre « Répertoire de données racine » la valeur «\\fileserver1\share1\ ».In setup UI “Database Engine Configuration” page, “Data Directories” tab, set the parameter “Data root directory as “\\fileserver1\share1\”.

  • Dans l’installation à partir de l’invite de commandes, affectez à « /INSTALLSQLDATADIR » la valeur «\\fileserver1\share1\ ».In command prompt installation, specify the “/INSTALLSQLDATADIR” as “\\fileserver1\share1\”.

    Voici l'exemple de syntaxe qui permet d'installer SQL ServerSQL Server sur un serveur autonome à l'aide de l'option de partage de fichiers SMB :Here is the sample syntax to install SQL ServerSQL Server on a Standalone server using SMB file share option:

    Setup.exe /q /ACTION=Install /FEATURES=SQL /INSTANCENAME=MSSQLSERVER /SQLSVCACCOUNT="<DomainName\UserName>" /SQLSVCPASSWORD="<StrongPassword>" /SQLSYSADMINACCOUNTS="<DomainName\UserName>" /AGTSVCACCOUNT="<DomainName\UserName>" /AGTSVCPASSWORD="<StrongPassword>" /INSTALLSQLDATADIR="\\FileServer\Share1\" /IACCEPTSQLSERVERLICENSETERMS  
    

    Pour installer une instance du cluster de basculement SQL ServerSQL Server à nœud unique avec l'instance par défaut du Moteur de base de donnéesDatabase Engine et d' Analysis ServicesAnalysis Services:To install a single-node SQL ServerSQL Server failover cluster instance with the Moteur de base de donnéesDatabase Engine and Analysis ServicesAnalysis Services, default instance:

    setup.exe /q /ACTION=InstallFailoverCluster /InstanceName=MSSQLSERVER /INDICATEPROGRESS /ASSYSADMINACCOUNTS="<DomainName\UserName>" /ASDATADIR=<Drive>:\OLAP\Data /ASLOGDIR=<Drive>:\OLAP\Log /ASBACKUPDIR=<Drive>:\OLAP\Backup /ASCONFIGDIR=<Drive>:\OLAP\Config /ASTEMPDIR=<Drive>:\OLAP\Temp /FAILOVERCLUSTERDISKS="<Cluster Disk Resource Name - for example, 'Disk S:'" /FAILOVERCLUSTERNETWORKNAME="<Insert Network Name>" /FAILOVERCLUSTERIPADDRESSES="IPv4;xx.xxx.xx.xx;Cluster Network;xxx.xxx.xxx.x" /FAILOVERCLUSTERGROUP="MSSQLSERVER" /Features=AS,SQL /ASSVCACCOUNT="<DomainName\UserName>" /ASSVCPASSWORD="xxxxxxxxxxx" /AGTSVCACCOUNT="<DomainName\UserName>" /AGTSVCPASSWORD="xxxxxxxxxxx" /INSTALLSQLDATADIR="\\FileServer\Share1\" /SQLCOLLATION="SQL_Latin1_General_CP1_CS_AS" /SQLSVCACCOUNT="<DomainName\UserName>" /SQLSVCPASSWORD="xxxxxxxxxxx" /SQLSYSADMINACCOUNTS="<DomainName\UserName> /IACCEPTSQLSERVERLICENSETERMS  
    

    Pour plus d’informations sur l’utilisation des différentes options de paramètre de ligne de commande dans SQL Server 2017SQL Server 2017, consultez Installer SQL Server 2016 à partir de l’invite de commandes.For more information about the usage of various command line parameter options in SQL Server 2017SQL Server 2017, see Install SQL Server 2016 from the Command Prompt.

Considérations relatives au système d’exploitation (protocole SMB et SQL ServerSQL Server)Operating system considerations (SMB Protocol vs. SQL ServerSQL Server)

Les différents systèmes d'exploitation Windows disposent de différentes versions du protocole SMB, et la version du protocole SMB est transparente pour SQL ServerSQL Server.Different Windows operating systems has different SMB protocol versions, and the SMB protocol version is transparent to SQL ServerSQL Server. Vous pouvez connaître les avantages des différentes versions de protocole SMB pour SQL Server 2017SQL Server 2017.You can find the benefits of different SMB protocol versions with respect to SQL Server 2017SQL Server 2017.

Système d'exploitationOperating System Version de protocole SMB2SMB2 protocol version Avantages de SQL ServerSQL ServerBenefits to SQL ServerSQL Server
Windows Server 2008Windows Server 2008 SP 2 SP 2 2.02.0 Performances améliorées par rapport aux versions SMB précédentes.Improved performance over previous SMB versions.

Durabilité, ce qui aide à la récupération lors de problèmes temporaires du réseau.Durability, which helps recover from temporary network glitches.
Windows Server 2008 R2Windows Server 2008 R2 SP 1, comprenant Server Core SP 1, including Server Core 2.12.1 Prise en charge de MTU volumineuses, ce qui profite aux transferts de données volumineux, par exemple lors d'opérations de sauvegarde et de restauration SQL.Support for large MTU, which benefits large data transfers, such as SQL backup and restore. Cette fonction doit être activée par l'utilisateur.This capability must be enabled by user. Pour plus d’informations sur l’activation de cette fonction, consultez Nouveautés du protocole SMB (http://go.microsoft.com/fwlink/?LinkID=237319).For more details on how to enable this capability, see What’s New in SMB (http://go.microsoft.com/fwlink/?LinkID=237319).

Améliorations significatives des performances, en particulier pour les charges de travail de style SQL OLTP.Significant performance improvements, specifically for SQL OLTP style workloads. Ces améliorations de performances requièrent l'application d'un correctif.These performance improvements require applying a hotfix. Pour plus d’informations sur le correctif, consultez cet article (http://go.microsoft.com/fwlink/?LinkId=237320).For more information on the hotfix, see this (http://go.microsoft.com/fwlink/?LinkId=237320).
Windows Server 2012Windows Server 2012, comprenant Server Core, including Server Core 3.03.0 Prise en charge du basculement transparent des partages de fichiers ce qui évite tout temps d'arrêt, sans intervention nécessaire de l'administrateur de la base de données SQL ou l'administrateur du serveur de fichiers dans les configurations de cluster de serveurs de fichiers.Support for transparent failover of file shares providing zero downtime with no administrator intervention required for SQL DBA or file server administrator in file server cluster configurations.

Prise en charge d'E/S dans plusieurs interfaces réseau simultanément, ainsi que tolérance à la défaillance de l'interface réseau.Support for IO using multiple network interfaces simultaneously, as well as tolerance to network interface failure.

Prise en charge des interfaces réseau avec fonctions RDMA.Support for network interfaces with RDMA capabilities.

Pour plus d’informations sur ces fonctionnalités et le protocole SMB (Server Message Block), consultez Vue d’ensemble du protocole SMB (Server Message Block) (http://go.microsoft.com/fwlink/?LinkId=253174).For more information on these features and Server Message Block, see Server Message Block overview (http://go.microsoft.com/fwlink/?LinkId=253174).

Prise en charge de Scale Out File Server (SoFS) avec disponibilité continue.Support for Scale Out File Server (SoFS) with continuous availability.
Windows Server 2012Windows Server 2012 R2, comprenant Server Core R2, including Server Core 3.23.2 Prise en charge du basculement transparent des partages de fichiers ce qui évite tout temps d'arrêt, sans intervention nécessaire de l'administrateur de la base de données SQL ou l'administrateur du serveur de fichiers dans les configurations de cluster de serveurs de fichiers.Support for transparent failover of file shares providing zero downtime with no administrator intervention required for SQL DBA or file server administrator in file server cluster configurations.

Prise en charge d'E/S dans plusieurs interfaces réseau simultanément, ainsi que tolérance à la défaillance de l'interface réseau, à l'aide de SMB Multichannel.Support for IO using multiple network interfaces simultaneously, as well as tolerance to network interface failure, using SMB Multichannel.

Prise en charge des interfaces réseau avec fonctions RDMA à l'aide de SMB Direct.Support for network interfaces with RDMA capabilities using SMB Direct.

Pour plus d’informations sur ces fonctionnalités et le protocole SMB (Server Message Block), consultez Vue d’ensemble du protocole SMB (Server Message Block) (http://go.microsoft.com/fwlink/?LinkId=253174).For more information on these features and Server Message Block, see Server Message Block overview (http://go.microsoft.com/fwlink/?LinkId=253174).

Prise en charge de Scale Out File Server (SoFS) avec disponibilité continue.Support for Scale Out File Server (SoFS) with continuous availability.

Optimisé pour les E/S de lecture/écriture de petite taille courantes sur OLTP SQL ServerSQL Server .Optimized for small random read/write I/O common to SQL ServerSQL Server OLTP.

MTU (Maximum Transmission Unit) est activé par défaut, ce qui améliore grandement les performances lors des transferts séquentiels de grande taille comme pour l'entrepôt de données SQL ServerSQL Server et la sauvegarde et la restauration de base de données.Maximum Transmission Unit (MTU) is turned on by default, which significantly enhances performance in large sequential transfers like SQL ServerSQL Server data warehouse and database backup or restore.

Considérations relatives à la sécuritéSecurity considerations

  • Le compte de service SQL ServerSQL Server et le compte de service de l'agent SQL ServerSQL Server doivent disposer des autorisations de partage FULL CONTROL et des autorisations NTFS sur les dossiers de partage SMB.The SQL ServerSQL Server service account and SQL ServerSQL Server agent service account should have FULL CONTROL share permissions and NTFS permissions on the SMB share folders. Le compte de service SQL ServerSQL Server peut être un compte de domaine ou un compte système si un serveur de fichiers SMB est utilisé.The SQL ServerSQL Server service account can be a domain account or a system account if an SMB file server is used. Pour plus d’informations sur les autorisations de partage et NTFS, consultez Autorisations de partage et NTFS sur un serveur de fichiers (http://go.microsoft.com/fwlink/?LinkId=245535).For more information about share and NTFS permissions, see Share and NTFS Permissions on a File Server (http://go.microsoft.com/fwlink/?LinkId=245535).

    Note

    Les autorisations de partage FULL CONTROL et les autorisations NTFS sur les dossiers de partage SMB doivent être limitées : au compte de service de SQL ServerSQL Server , au compte de service de l'Agent SQL ServerSQL Server et aux utilisateurs Windows avec des rôles de serveur admin.The FULL CONTROL share permissions and NTFS permissions on the SMB share folders should be restricted to: SQL ServerSQL Server service account, SQL ServerSQL Server Agent service account and windows users with admin server roles.

    Il est recommandé d'utiliser le compte de domaine en tant que compte de service SQL ServerSQL Server.It is recommended to use domain account as a SQL ServerSQL Server service account. Si le compte système est utilisé comme compte de service, accordez les autorisations pour le compte d’ordinateur au format suivant : <nom_domaine>\<nom_ordinateur>*$.If system account is used as a service account, grant the permissions for the machine account in the format: <domain_name>\<computer_name>\$*.

    Note

    Pendant l'installation de SQL ServerSQL Server, vous devez spécifier le compte de domaine en tant que compte de service si le partage de fichiers SMB est indiqué comme option de stockage.During SQL ServerSQL Server setup, it is required to specify domain account as a service account if SMB file share is specified as a storage option. Avec le partage de fichiers SMB, le compte système peut être spécifié comme compte de service après l'installation de SQL ServerSQL Server .With SMB file share, System account can only be specified as a service account post SQL ServerSQL Server installation.

    Les comptes virtuels ne peuvent pas être authentifiés sur un emplacement distant.Virtual accounts cannot be authenticated to a remote location. Tous les comptes virtuels utilisent l'autorisation de compte d'ordinateur.All virtual accounts use the permission of machine account. Configurez le compte d’ordinateur au format <nom_domaine>\<nom_ordinateur>*$.Provision the machine account in the format <domain_name>\<computer_name>\$*.

  • Le compte utilisé pour installer SQL ServerSQL Server doit avoir des autorisations FULL CONTROL sur le dossier de partage de fichiers SMB utilisé comme répertoire de données, ou tous les autres dossiers de données (répertoire de base de données utilisateur, répertoire du journal de la base de données utilisateur, répertoire TempDB, répertoire du journal TempDB, répertoire de sauvegarde) pendant la configuration des clusters.The account used to install SQL ServerSQL Server should have FULL CONTROL permissions on the SMB file share folder used as the data directory, or any other data folders (User database directory, user database log directory, TempDB directory, TempDB log directory, backup directory) during Cluster Setup.

  • Des privilèges SeSecurityPrivilege sur le serveur de fichiers SMB doivent être accordés au compte utilisé pour installer SQL ServerSQL Server .The account used to install SQL ServerSQL Server should be granted SeSecurityPrivilege privileges on the SMB file server. Pour accorder ce privilège, utilisez la console de stratégie de sécurité locale sur le serveur de fichiers pour ajouter le compte utilisé pour l'installation de SQL ServerSQL Server à la stratégie Gérer le journal d'audit et de la sécurité.To grant this privilege, use the Local Security Policy console on the file server to add the SQL ServerSQL Server setup account to the Manage auditing and security log policy. Ce paramètre est disponible dans la section Attribution des droits utilisateur sous Stratégies locales dans la console Stratégie de sécurité locale.This setting is available in the User Rights Assignments section under Local Policies in the Local Security Policy console.

Problèmes connusKnown issues

  • Après avoir détaché une base de données SQL Server 2017SQL Server 2017 qui réside sur le stockage attaché au réseau, vous pouvez rencontrer un problème d'autorisations sur la base de données lorsque vous essaierez de lier à nouveau la base de données SQL ServerSQL Server .After you detach a SQL Server 2017SQL Server 2017 database that resides on network-attached storage, you might run into database permission issue while trying to reattach the SQL ServerSQL Server database. Le problème est décrit dans cet article de la Base de connaissances (http://go.microsoft.com/fwlink/?LinkId=237321).The issue is defined in this KB article (http://go.microsoft.com/fwlink/?LinkId=237321). Pour le contourner, consultez la section Plus d'informations dans l'article de la Base de connaissances.To work around this issue, see the More Information section in the KB article.

  • Si un partage de fichiers SMB est utilisé comme option de stockage pour une instance cluster de SQL ServerSQL Server, par défaut le journal de diagnostic du cluster de basculement SQL ServerSQL Server ne peut pas être écrit dans le partage de fichiers car la DLL Resource de SQL ServerSQL Server ne dispose pas des autorisations de lecture/écriture sur le partage de fichiers.If SMB file share is used as a storage option for a clustered instance of SQL ServerSQL Server, by default the SQL ServerSQL Server Failover Cluster Diagnostics Log cannot be written to the file share because SQL ServerSQL Server Resource DLL lacks the read/write permission on the file share. Pour résoudre ce problème, essayez l'une des opérations suivantes :To resolve this issue, try one of the following methods:

    1. Accordez des autorisations de lecture/écriture sur le partage de fichiers à tous les objets ordinateur dans le cluster.Grant read/write permissions on the file share to all computer objects in the cluster.

    2. Définissez l'emplacement des journaux de diagnostics dans un chemin d'accès local.Set the location of the diagnostic logs to a local file path. Observez l'exemple suivant :See the following example:

      ALTER SERVER CONFIGURATION  
      SET DIAGNOSTICS LOG PATH = 'C:\logs';  
      

Voir aussiSee also

Planification d'une installation SQL Server Planning a SQL Server Installation
Configurer les comptes de service Windows et les autorisationsConfigure Windows Service Accounts and Permissions