Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
A partire da SQL Server 2012, i database di sistema (Master, Model, MSDB e TempDB) e i database utente del motore di database possono essere installati con il file server Server Message Block (SMB) come opzione di archiviazione. Si applica sia alle installazioni autonome di SQL Server che alle installazioni del cluster di failover di SQL Server.
Annotazioni
Filestream non è attualmente supportato in una condivisione file SMB.
Considerazioni sull'installazione
Formati di condivisione file SMB:
Nel momento in cui si specifica la condivisione file SMB, sono supportati i seguenti formati di percorso UNC (Universal Naming Convention) per i database autonomi e FCI:
\\NomeServer\ShareName\
\\ServerName\ShareName
Per altre informazioni sulla convenzione di denominazione universale, vedere UNC (https://go.microsoft.com/fwlink/?LinkId=245534).
Il percorso UNC di loopback (un percorso UNC il cui nome del server è localhost, 127.0.0.1 o il nome del computer locale) non è supportato. In particolare, SQL Server che usa il cluster file server ospitato nello stesso nodo in cui è in esecuzione SQL Server non è supportato. Per evitare questa situazione, è consigliabile creare sql server e cluster file server in cluster Windows separati.
I formati di percorso UNC seguenti non sono supportati:
Percorso di loopback, ad esempio \\localhost\.. \ o \\127.0.0.1\...\
Condivisioni amministrative, ad esempio \\nomeserver\x$
Altri formati di percorso UNC, ad esempio \\?\x:\
Unità di rete mappate.
Istruzioni supportate del linguaggio di definizione dei dati (DDL)
Le istruzioni DDL di Transact-SQL e le stored procedure del motore di database seguenti supportano le condivisioni file SMB:
Opzioni di installazione
Nella pagina "Configurazione motore di database" dell'interfaccia utente di installazione, nella scheda "Directory dati", impostare il parametro "Directory radice dei dati" su "\\fileserver1\share1".
Nell'installazione del Prompt dei Comandi, specificare "/INSTALLSQLDATADIR" come "\\fileserver1\share1".
Ecco la sintassi di esempio per installare SQL Server in un server autonomo usando l'opzione 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\" /IACCEPTSQLSERVERLICENSETERMSPer installare un'istanza del cluster di failover di SQL Server a nodo singolo con il motore di database e Analysis 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> /IACCEPTSQLSERVERLICENSETERMSPer altre informazioni sull'utilizzo di varie opzioni dei parametri della riga di comando in SQL Server 2014, vedere Installare SQL Server 2014 dal prompt dei comandi.
Considerazioni sul sistema operativo (SMB Protocol vs. SQL Server)
Diversi sistemi operativi Windows hanno versioni diverse del protocollo SMB e la versione del protocollo SMB è trasparente per SQL Server. È possibile trovare i vantaggi delle diverse versioni del protocollo SMB rispetto a SQL Server 2014.
| Sistema operativo | Versione del protocollo SMB2 | Vantaggi di SQL Server |
|---|---|---|
| Windows Server 2008 SP 2 | 2.0 | Prestazioni migliorate rispetto alle versioni precedenti di SMB. Durabilità, che consente di eseguire il ripristino da errori di rete temporanei. |
| Windows Server 2008 R2 SP 1, incluso Server Core | 2.1 | Supporto per MTU di grandi dimensioni, che migliora i trasferimenti di grandi volumi di dati, come il backup e ripristino SQL. Questa funzionalità deve essere abilitata dall'utente. Per altre informazioni su come abilitare questa funzionalità, vedere Novità di SMB (https://go.microsoft.com/fwlink/?LinkID=237319). Miglioramenti significativi delle prestazioni, in particolare per i carichi di lavoro di stile OLTP di SQL. Questi miglioramenti delle prestazioni richiedono l'applicazione di un hotfix. Per altre informazioni sull'hotfix, vedere questo (https://go.microsoft.com/fwlink/?LinkId=237320). |
| Windows Server 2012, incluso Server Core | 3.0 | Il supporto per il failover trasparente delle condivisioni file garantisce zero tempi di inattività senza richiedere alcun intervento da parte dell'amministratore del database SQL o dell'amministratore del file server nelle configurazioni del cluster di file server. Supporto per I/O tramite più interfacce di rete contemporaneamente, nonché 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 Server Message Block (https://go.microsoft.com/fwlink/?LinkId=253174). Supporto per il File Server di Scale-Out (SoFS) con disponibilità continua. |
| Windows Server 2012 R2, incluso Server Core | 3.2 | Il supporto per il failover trasparente delle condivisioni file garantisce zero tempi di inattività senza richiedere l'intervento dell'amministratore del database SQL o del file server nelle configurazioni del cluster dei file server. Supporto per I/O tramite più interfacce di rete contemporaneamente, nonché tolleranza ai guasti 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 Server Message Block (https://go.microsoft.com/fwlink/?LinkId=253174). Supporto per il File Server di Scale-Out (SoFS) con disponibilità continua. Ottimizzato per operazioni di I/O di lettura/scrittura casuali di piccole dimensioni comuni a OLTP per SQL Server. 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 Server. |
Considerazioni sulla sicurezza
L'account del servizio SQL Server e l'account del servizio SQL Server Agent devono avere autorizzazioni di condivisione FULL CONTROL e autorizzazioni NTFS per le cartelle di condivisione SMB. L'account del servizio SQL Server può essere un account di dominio o di sistema quando si usa un file server SMB. Per altre informazioni sulle autorizzazioni NTFS e di condivisione, vedere Condivisione e autorizzazioni NTFS in un file server (https://go.microsoft.com/fwlink/?LinkId=245535).
Annotazioni
Le autorizzazioni di condivisione FULL CONTROL e le autorizzazioni NTFS per le cartelle di condivisione SMB devono essere limitate a: account del servizio SQL Server, account del servizio SQL Server Agent e utenti di Windows con ruoli del server di amministrazione.
È consigliabile usare l'account di dominio come account del servizio SQL Server. Se l'account di sistema viene usato come account di servizio, concedere le autorizzazioni per l'account macchina nel formato <domain_name>\<computer_name>$.
Annotazioni
- Durante l'installazione di SQL Server, è necessario specificare l'account di dominio come account di servizio se la condivisione file SMB viene specificata come opzione di archiviazione. Con la condivisione file SMB, l'account di sistema può essere specificato solo come account del servizio dopo l'installazione di SQL Server.
- Gli account virtuali non possono essere autenticati in una posizione remota. Tutti gli account virtuali utilizzano l'autorizzazione dell'account macchina. Effettuare il provisioning dell'account del computer nel formato <domain_name>\<computer_name>$.
L'account utilizzato per installare SQL Server deve disporre delle autorizzazioni FULL CONTROL sulla cartella di condivisione file SMB utilizzata come directory dati o su qualsiasi altra cartella dati (directory del database utente, directory del log del database utente, directory TempDB, directory log TempDB, directory di backup) durante l'installazione del cluster.
All'account usato per installare SQL Server devono essere concessi privilegi SeSecurityPrivilege nel file server SMB. Per concedere questo privilegio, utilizzare la console Criteri di sicurezza locali sul file server per aggiungere l'account di configurazione di SQL Server ai criteri di gestione del controllo e dei log di sicurezza. Questa impostazione è disponibile nella sezione Assegnazioni diritti utente in Criteri locali nella console Criteri di sicurezza locali.
Problemi noti
Dopo aver scollegato un database di SQL Server 2014 che si trova nella risorsa di archiviazione collegata alla rete, è possibile che si verifichi un problema di autorizzazione del database durante il tentativo di ricollegamento del database di SQL Server. Il problema è definito in questo articolo della Knowledge Base (https://go.microsoft.com/fwlink/?LinkId=237321). Per risolvere questo problema, vedere la sezione Altre informazioni nell'articolo della Knowledge Base.
Alcune terze parti, ad esempio il dispositivo NetApp, non supportano tutte le chiamate API di SQL Server. Con questi è possibile ottenere:
2015-06-04 13:14:19.97 spid9s Errore: 17053, gravità: 16, stato: 1.
2015-06-04 13:14:19.97 spid9s DoDevIoCtlOut() GetOverlappedResult() : Errore del sistema operativo 1(Funzione errata.) rilevato.Per NTFS, l'errore è innocuo. ma per ReFS, può causare una riduzione significativa delle prestazioni.
Se la condivisione file SMB viene usata come opzione di archiviazione per un'istanza cluster di SQL Server, per impostazione predefinita il log di diagnostica del cluster di failover di SQL Server non può essere scritto nella condivisione file perché la DLL delle risorse di SQL Server non dispone dell'autorizzazione di lettura/scrittura per la condivisione file. Per risolvere il problema, tentare uno dei metodi seguenti:
Concedere autorizzazioni di lettura/scrittura in una condivisione file a tutti gli oggetti computer del cluster.
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
Argomenti su come procedere con l'installazione
Configurare account di servizio e autorizzazioni di Windows