Installazione di SQL Server con l'opzione di archiviazione su condivisione file SMB

A partire da SQL Server 2012SQL Server 2012 i 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. Questa condizione è valida per le installazioni di SQL ServerSQL Server autonome e per le installazioni del cluster di failover di SQL ServerSQL Server.

Nota

Filestream non è attualmente supportato in una condivisione file SMB.

Considerazioni sull'installazione

Formati di condivisione di file SMB:

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:

  • \\NomeServer\NomeCondivisione\

  • \\NomeServer\NomeCondivisione

    Per altre informazioni su Universal Naming Convention, vedere UNC (http://go.microsoft.com/fwlink/?LinkId=245534).

    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. 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. Per evitare questa situazione, è consigliabile che SQL ServerSQL Server e il cluster di file server vengano creati in cluster Windows separati.

    I formati di percorso UNC riportati di seguito non sono supportati:

  • Percorso del loopback, ad esempio \\localhost\..\ o \\127.0.0.1\...\

  • Condivisioni amministrative, ad esempio \\nomeserver\x$

  • Altri formati di percorso UNC come \\?\x:\

  • Unità di rete su cui è stato eseguito il mapping

Istruzioni DDL (Data Definition Language) supportate

Le istruzioni DDL di Transact-SQLTransact-SQL e le stored procedure del motore di database seguenti supportano le condivisioni file SMB:

  1. CREATE DATABASE (SQL Server Transact-SQL)

  2. ALTER DATABASE (Transact-SQL)

  3. RESTORE (Transact-SQL)

  4. BACKUP (Transact-SQL)

  5. sp_attach_db (Transact-SQL)

  6. sp_attach_single_file_db (Transact-SQL)

Opzioni di installazione

  • Nella scheda "Directory dati" della pagina "Configurazione del motore di database" del programma di installazione, impostare il parametro "Directory radice dati" su "\\fileserver1\share1\".

  • Nell'installazione del prompt dei comandi, specificare "/INSTALLSQLDATADIR" come "\\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:

    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):

    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.

Considerazioni relative al sistema operativo (protocollo SMB e 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. È possibile individuare i vantaggi delle varie versioni del protocollo SMB in relazione a SQL Server 2017SQL Server 2017.

Sistema operativo Versione del protocollo SMB2 Vantaggi per SQL ServerSQL Server
Windows Server 2008Windows Server 2008 SP 2 2.0 Prestazioni migliorate rispetto a versioni precedenti di SMB.

Durabilità, che consente il recupero da problemi di rete temporanei.
Windows Server 2008 R2Windows Server 2008 R2 SP1, incluso Server Core 2.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. Questa funzionalità deve essere abilitata dall'utente. Per altre informazioni su come abilitare questa funzionalità, vedere Novità di SMB (http://go.microsoft.com/fwlink/?LinkID=237319).

Significativi miglioramenti nelle prestazioni, in particolare per i carichi di lavoro di tipo OLTP di SQL. Questi miglioramenti delle prestazioni richiedono l'applicazione di un hotfix. Per altre informazioni sull'hotfix, vedere qui (http://go.microsoft.com/fwlink/?LinkId=237320).
Windows Server 2012Windows Server 2012, incluso Server Core 3.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.

Supporto per IO che utilizzano più interfacce di rete simultaneamente e tolleranza agli errori dell'interfaccia di rete.

Supporto per interfacce di rete con funzionalità RDMA.

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).

Supporto per File server di scalabilità orizzontale (SoFS) con disponibilità continua.
Windows Server 2012Windows Server 2012 R2, incluso Server Core 3.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.

Supporto per IO che utilizzano più interfacce di rete simultaneamente e tolleranza agli errori dell'interfaccia di rete tramite SMB multicanale.

Supporto per interfacce di rete con funzionalità RDMA tramite SMB diretto.

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).

Supporto per File server di scalabilità orizzontale (SoFS) con disponibilità continua.

Ottimizzato per piccole operazioni I/O di lettura/scrittura casuali comuni per 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.

Considerazioni sulla sicurezza

  • 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. L'account del servizio SQL ServerSQL Server può essere un account di dominio o di sistema quando si utilizza un file server SMB. 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).

    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.

    Si consiglia per utilizzare un account di dominio come account del servizio SQL ServerSQL Server. Se l'account di sistema viene usato come account del servizio, concedere le autorizzazioni per l'account del computer nel formato: \$.

    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. Con le condivisioni file SMB, è possibile specificare l'account di sistema come account del servizio solo dopo l'installazione di SQL ServerSQL Server .

    Gli account virtuali non possono essere autenticati a un percorso remoto. Per tutti gli account virtuali viene usata l'autorizzazione dell'account del computer. Eseguire il provisioning dell'account del computer nel formato \$.

  • 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.

  • È necessario che all'account utilizzato per installare SQL ServerSQL Server venga concesso il privilegio SeSecurityPrivilege nel file server SMB. 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. Questa impostazione è disponibile nella sezione Assegnazione diritti utente in Criteri locali nella console Criteri di sicurezza locale.

Problemi noti

  • 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. Il problema è definito in questo articolo della Knowledge Base (http://go.microsoft.com/fwlink/?LinkId=237321). Per evitarlo, vedere la sezione relativa a ulteriori informazioni nell'articolo della Knowledge Base.

  • 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. Per risolvere il problema, tentare uno dei metodi seguenti:

    1. Concedere autorizzazioni di lettura/scrittura in una condivisione file a tutti gli oggetti computer del cluster.

    2. Impostare il percorso dei log di diagnostica su un percorso file locale. Vedere l'esempio seguente:

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

Vedere anche

Pianificazione di un'installazione di SQL Server
Configurare account di servizio e autorizzazioni di Windows