Installare SQL Server con l'archiviazione su condivisione file SMBInstall SQL Server with SMB fileshare storage

A partire da SQL Server 2012SQL Server 2012i database di sistema (Master, Model, MSDB e TempDB) e i database utente di Motore di databaseDatabase Engine possono essere installati con il file server SMB (Server Message Block) come opzione di archiviazione.Starting with SQL Server 2012SQL Server 2012, system databases (Master, Model, MSDB, and TempDB), and Motore di databaseDatabase Engine user databases can be installed with Server Message Block (SMB) file server as a storage option. Questa condizione è valida per le installazioni di SQL ServerSQL Server autonome e per le installazioni del cluster di failover di SQL ServerSQL Server .This applies to both SQL ServerSQL Server stand-alone and SQL ServerSQL Server failover cluster installations (FCI).

Nota

Filestream non è attualmente supportato in una condivisione file SMB.Filestream is currently not supported on an SMB file share.

Considerazioni sull'installazioneInstallation considerations

Formati di condivisione file SMB:SMB fileshare formats:

Quando si specifica la condivisione file SMB, sono supportati i seguenti formati di percorso UNC (Universal Naming Convention) per database autonomi e dell'istanza del cluster di failover:While specifying the SMB file share, the following are supported Universal Naming Convention (UNC) Path formats for standalone and FCI databases:

  • \\NomeServer\NomeCondivisione\\\ServerName\ShareName\

  • \\NomeServer\NomeCondivisione\\ServerName\ShareName

    Per altre informazioni su Universal Naming Convention, vedere UNC.For more information about Universal Naming Convention, see UNC.

    Il percorso UNC del loopback (percorso UNC il cui nome del server è localhost, 127.0.0.1 o il nome del computer locale) non è supportato.The loopback UNC path (a UNC path whose server name is localhost, 127.0.0.1, or the local machine name) is not supported. In un caso speciale, non è supportato neanche SQL ServerSQL Server in cui viene utilizzato il cluster di file server ospitato nello stesso nodo eseguito da SQL ServerSQL Server .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. Per evitare questa situazione, è consigliabile che SQL ServerSQL Server e il cluster di file server vengano creati in cluster Windows separati.To prevent this situation, it is recommended that SQL ServerSQL Server and File Server Cluster to be created on separated Windows Clusters.

    I formati di percorso UNC riportati di seguito non sono supportati:The below UNC path formats are not supported:

  • Percorso del loopback, ad esempio \\localhost\..\ o \\127.0.0.1\...\Loopback path, e.g., \\localhost\..\ or \\127.0.0.1\...\

  • Condivisioni amministrative, ad esempio \\nomeserver\x$Administrative shares, e.g., \\servername\x$

  • Altri formati di percorso UNC come \\?\x:\Other UNC path formats like \\?\x:\

  • Unità di rete su cui è stato eseguito il mappingMapped network drives.

Istruzioni DDL (Data Definition Language) supportateSupported data definition language (DDL) statements

Le istruzioni DDL di Transact-SQLTransact-SQL e le stored procedure del motore di database seguenti supportano le condivisioni file 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)

Opzione di installazioneInstallation options

  • Nella scheda "Directory dati" della pagina "Configurazione del motore di database" del programma di installazione, impostare il parametro "Directory radice dati" su "\\fileserver1\share1\".In setup UI “Database Engine Configuration” page, “Data Directories” tab, set the parameter “Data root directory as “\\fileserver1\share1\”.

  • Nell'installazione del prompt dei comandi, specificare "/INSTALLSQLDATADIR" come "\\fileserver1\share1\".In command prompt installation, specify the “/INSTALLSQLDATADIR” as “\\fileserver1\share1\”.

    Di seguito è riportata la sintassi di esempio per installare SQL ServerSQL Server in un server autonomo utilizzando l'opzione di condivisione file 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  
    

    Per installare un'istanza del cluster di failover di SQL ServerSQL Server a nodo singolo con il Motore di databaseDatabase Engine e Analysis ServicesAnalysis Services(istanza predefinita):To install a single-node SQL ServerSQL Server failover cluster instance with the Motore di databaseDatabase 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  
    

    Per altre informazioni sull'uso di varie opzioni per i parametri della riga di comando in SQL Server 2017SQL Server 2017, vedere Installare SQL Server 2016 dal prompt dei comandi.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.

Considerazioni sul sistema operativo (protocollo SMB e SQL ServerSQL Server)Operating system considerations (SMB Protocol vs. SQL ServerSQL Server)

Sistemi operativi Windows diversi dispongono di versioni diverse del protocollo SMB e la versione del protocollo SMB è trasparente a SQL ServerSQL Server.Different Windows operating systems has different SMB protocol versions, and the SMB protocol version is transparent to SQL ServerSQL Server. È possibile individuare i vantaggi delle varie versioni del protocollo SMB in relazione a SQL Server 2017SQL Server 2017.You can find the benefits of different SMB protocol versions with respect to SQL Server 2017SQL Server 2017.

Sistema operativoOperating System Versione del protocollo SMB2SMB2 protocol version Vantaggi per SQL ServerSQL ServerBenefits to SQL ServerSQL Server
Windows Server 2008Windows Server 2008 SP 2 SP 2 2.02.0 Prestazioni migliorate rispetto a versioni precedenti di SMB.Improved performance over previous SMB versions.

Durabilità, che consente il recupero da problemi di rete temporanei.Durability, which helps recover from temporary network glitches.
Windows Server 2008 R2Windows Server 2008 R2 SP1, incluso Server Core SP 1, including Server Core 2.12.1 Supporto per MTU di grandi dimensioni che consente il trasferimento di grandi quantità di dati, ad esempio per le operazioni di backup e di ripristino di SQL.Support for large MTU, which benefits large data transfers, such as SQL backup and restore. Questa funzionalità deve essere abilitata dall'utente.This capability must be enabled by user. Per altre informazioni su come abilitare questa funzionalità, vedere Novità di 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).

Significativi miglioramenti nelle prestazioni, in particolare per i carichi di lavoro di tipo OLTP di SQL.Significant performance improvements, specifically for SQL OLTP style workloads. Questi miglioramenti delle prestazioni richiedono l'applicazione di un hotfix.These performance improvements require applying a hotfix. Per altre informazioni sull'hotfix, vedere qui (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, incluso Server Core, including Server Core 3.03.0 Supporto per il failover trasparente delle condivisioni file che garantisce tempi di inattività ridotti a zero senza interventi dell'amministratore del DBA SQL o del file server nelle configurazioni di cluster di file server.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.

Supporto per IO che utilizzano più interfacce di rete simultaneamente e tolleranza agli errori dell'interfaccia di rete.Support for IO using multiple network interfaces simultaneously, as well as tolerance to network interface failure.

Supporto per interfacce di rete con funzionalità RDMA.Support for network interfaces with RDMA capabilities.

Per altre informazioni su queste funzionalità e su Server Message Block, vedere Panoramica di 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).

Supporto per File server di scalabilità orizzontale (SoFS) con disponibilità continua.Support for Scale Out File Server (SoFS) with continuous availability.
Windows Server 2012Windows Server 2012 R2, incluso Server Core R2, including Server Core 3.23.2 Supporto per il failover trasparente delle condivisioni file che garantisce tempi di inattività ridotti a zero senza interventi dell'amministratore del DBA SQL o del file server nelle configurazioni di cluster di file server.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.

Supporto per IO che utilizzano più interfacce di rete simultaneamente e tolleranza agli errori dell'interfaccia di rete tramite SMB multicanale.Support for IO using multiple network interfaces simultaneously, as well as tolerance to network interface failure, using SMB Multichannel.

Supporto per interfacce di rete con funzionalità RDMA tramite SMB diretto.Support for network interfaces with RDMA capabilities using SMB Direct.

Per altre informazioni su queste funzionalità e su Server Message Block, vedere Panoramica di 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).

Supporto per File server di scalabilità orizzontale (SoFS) con disponibilità continua.Support for Scale Out File Server (SoFS) with continuous availability.

Ottimizzato per piccole operazioni I/O di lettura/scrittura casuali comuni per SQL ServerSQL Server OLTP.Optimized for small random read/write I/O common to SQL ServerSQL Server OLTP.

L'unità massima di trasmissione (MTU) è abilitata per impostazione predefinita per migliorare significativamente le prestazioni nei trasferimenti sequenziali di grandi dimensioni come il ripristino o il backup del database e il data warehouse di SQL ServerSQL Server .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.

Considerazioni sulla sicurezzaSecurity considerations

  • Gli account dei servizi SQL ServerSQL Server e SQL ServerSQL Server Agent devono disporre di autorizzazioni di condivisione di controllo completo e di autorizzazioni NTFS sulle cartelle condivise 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. L'account del servizio SQL ServerSQL Server può essere un account di dominio o di sistema quando si utilizza un file server SMB.The SQL ServerSQL Server service account can be a domain account or a system account if an SMB file server is used. Per altre informazioni sulle autorizzazioni NTFS e di condivisione, vedere Autorizzazioni NTFS e di condivisione in un file server (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).

    Nota

    Le autorizzazioni di condivisione Controllo completo e le autorizzazioni NTFS sulle cartelle condivise SMB devono essere limitate a: account del servizio SQL ServerSQL Server , account del servizio SQL ServerSQL Server Agent e utenti di Windows con ruoli di amministratore del server.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.

    Si consiglia per utilizzare un account di dominio come account del servizio SQL ServerSQL Server.It is recommended to use domain account as a SQL ServerSQL Server service account. Se l'account di sistema viene usato come account del servizio, concedere le autorizzazioni per l'account del computer nel formato: <nome_dominio>\<nome_computer>*$.If system account is used as a service account, grant the permissions for the machine account in the format: <domain_name>\<computer_name>\$*.

    Nota

    Durante l'installazione di SQL ServerSQL Server, è necessario specificare l'account di dominio come account del servizio se la condivisione file SMB viene specificata come opzione di archiviazione.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. Con le condivisioni file SMB, è possibile specificare l'account di sistema come account del servizio solo dopo l'installazione di SQL ServerSQL Server .With SMB file share, System account can only be specified as a service account post SQL ServerSQL Server installation.

    Gli account virtuali non possono essere autenticati a un percorso remoto.Virtual accounts cannot be authenticated to a remote location. Per tutti gli account virtuali viene usata l'autorizzazione dell'account del computer.All virtual accounts use the permission of machine account. Eseguire il provisioning dell'account del computer nel formato <nome_dominio>\<nome_computer>*$.Provision the machine account in the format <domain_name>\<computer_name>\$*.

  • L'account utilizzato per installare SQL ServerSQL Server deve disporre di autorizzazioni FULL CONTROL sulla cartella della condivisione file SMB utilizzata come directory dei dati o su qualsiasi altra cartella dei dati (directory del database utente, directory del log del database utente, directory TempDB, directory del log TempDB, directory di backup) durante l'Installazione del cluster.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.

  • È necessario che all'account utilizzato per installare SQL ServerSQL Server venga concesso il privilegio SeSecurityPrivilege nel file server SMB.The account used to install SQL ServerSQL Server should be granted SeSecurityPrivilege privileges on the SMB file server. Per concedere tale privilegio, utilizzare la console Criteri di sicurezza locale nel file server per aggiungere l'account di installazione di SQL ServerSQL Server ai criteri Gestione file registro di controllo e di sicurezza.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. Questa impostazione è disponibile nella sezione Assegnazione diritti utente in Criteri locali nella console Criteri di sicurezza locale.This setting is available in the User Rights Assignments section under Local Policies in the Local Security Policy console.

Problemi notiKnown issues

  • Dopo aver scollegato un database di SQL Server 2017SQL Server 2017 che si trova in un archivio collegato alla rete, è possibile che si verifichino problemi di autorizzazione del database durante il tentativo di ricollegare il database di 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. Il problema è definito in questo articolo della Knowledge Base (http://go.microsoft.com/fwlink/?LinkId=237321).The issue is defined in this KB article (http://go.microsoft.com/fwlink/?LinkId=237321). Per evitarlo, vedere la sezione relativa a ulteriori informazioni nell'articolo della Knowledge Base.To work around this issue, see the More Information section in the KB article.

  • Se la condivisione file SMB viene utilizzata come opzione di archiviazione per un'istanza cluster di SQL ServerSQL Server, per impostazione predefinita il log di diagnostica del cluster di failover di SQL ServerSQL Server non può essere scritto nella condivisione file perché la DLL risorse di SQL ServerSQL Server non dispone di autorizzazioni di lettura/scrittura in una condivisione file.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. Per risolvere il problema, tentare uno dei metodi seguenti:To resolve this issue, try one of the following methods:

    1. Concedere autorizzazioni di lettura/scrittura in una condivisione file a tutti gli oggetti computer del cluster.Grant read/write permissions on the file share to all computer objects in the cluster.

    2. Impostare il percorso dei log di diagnostica su un percorso file locale.Set the location of the diagnostic logs to a local file path. Vedere l'esempio seguente:See the following example:

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

Vedere ancheSee also

Pianificazione di un'installazione di SQL Server Planning a SQL Server Installation
Configurare account di servizio e autorizzazioni di WindowsConfigure Windows Service Accounts and Permissions