Condividi tramite


Installare SQL Server con l'archiviazione su condivisione file SMB

Si applica a:SQL Server - solo Windows

In SQL Server 2012 (11.x) e versioni successive i database di sistema (master, model, msdbe 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 all'installazione autonoma di SQL Server che all'installazione del cluster di failover di SQL Server.

Nota

FILESTREAM non è attualmente supportato in una condivisione file SMB.

Considerazioni sull'installazione

Formati di condivisione file SMB

Quando si specifica la condivisione file SMB, i seguenti valori sono supportati nei formati di percorso UNC (Universal Naming Convention) per i database autonomi e FCI:

  • \\ServerName\ShareName\
  • \\ServerName\ShareName

Per altre informazioni, vedere Convenzione Universale di Nomenclatura.

Il percorso UNC di loopback (un percorso UNC il cui nome del server è localhost, 127.0.0.1o il nome del computer locale) non è supportato. Come caso speciale, anche SQL Server con un cluster di file server ospitato nello stesso nodo di SQL Server non è supportato. Per evitare questa situazione, è necessario creare SQL Server e il cluster file server in cluster Windows separati.

I formati di percorso UNC seguenti non sono supportati:

  • Percorso del loopback, ad esempio \\localhost\...\ o \\127.0.0.1\...\
  • Condivisioni amministrative, ad esempio \\servername\x$
  • Altri formati di percorso UNC come \\?\x:\
  • Unità di rete mappate

Istruzioni DDL (Data Definition Language) supportate

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

  1. CREATE DATABASE
  2. ALTER DATABASE
  3. istruzioni RESTORE
  4. BACKUP

Opzioni di installazione

  • Nell'interfaccia utente di installazione, nella pagina configurazione del motore di database di , nella scheda directory dati impostare il parametro directory radice dati come . Sostituire <FileServer> e <Share1> con valori provenienti dall'ambiente.

  • Nell'installazione del prompt dei comandi, specificare /INSTALLSQLDATADIR come \\<FileServer>\<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="<password>" /SQLSYSADMINACCOUNTS="<DomainName\UserName>" /AGTSVCACCOUNT="<DomainName\UserName>" /AGTSVCPASSWORD="<password>" /INSTALLSQLDATADIR="\\FileServer\Share1\" /IACCEPTSQLSERVERLICENSETERMS
    

    A partire da SQL Server 2022 (16.x), leggere le Condizioni di licenza software di Microsoft SQL Server in aka.ms/useterms.

    Per 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="<password>" /AGTSVCACCOUNT="<DomainName\UserName>" /AGTSVCPASSWORD="<password>" /INSTALLSQLDATADIR="\\FileServer\Share1\" /SQLCOLLATION="SQL_Latin1_General_CP1_CS_AS" /SQLSVCACCOUNT="<DomainName\UserName>" /SQLSVCPASSWORD="<password>" /SQLSYSADMINACCOUNTS="<DomainName\UserName> /IACCEPTSQLSERVERLICENSETERMS
    

    Per altre informazioni sull'utilizzo di varie opzioni dei parametri della riga di comando in SQL Server, vedere Installare e configurare SQL Server in Windows dal prompt dei comandi.

Nota

Le password devono seguire i criteri predefiniti password di SQL Server. Per impostazione predefinita, la password deve avere una lunghezza di almeno otto caratteri e contenere caratteri da tre dei quattro set seguenti: lettere maiuscole, lettere minuscole, cifre base-10 e simboli. Le password possono contenere fino a 128 caratteri. Usare password che siano il più lunghe e complesse possibile.

Considerazioni sul sistema operativo (protocollo SMB vs. SQL Server)

Sistemi operativi Windows diversi dispongono di versioni diverse del protocollo SMB e la versione del protocollo SMB è trasparente a SQL Server. È possibile individuare i vantaggi delle varie versioni del protocollo SMB in relazione a SQL Server.

Sistema operativo Versione del protocollo SMB2 Vantaggi di SQL Server
Windows Server 2012 e versioni successive, incluso Server Core 3.0 Supporto per il failover trasparente delle condivisioni file con zero tempi di inattività, senza alcun intervento necessario per l'amministratore del database o l'amministratore del file server nelle configurazioni a cluster di server di file.

Supporto per I/O tramite più interfacce di rete contemporaneamente 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 Server Message Block.

Supporto per File server di scalabilità orizzontale (SoFS) con disponibilità continua.
Windows Server 2012 R2 e versioni successive, tra cui Server Core 3.2 Supporto per il failover trasparente delle condivisioni file garantendo zero tempi di inattività, senza alcun intervento necessario per l'amministratore del database o l'amministratore del file server nelle configurazioni di cluster di file server.

Supporto per I/O che utilizza più interfacce di rete simultaneamente e tolleranza ai guasti delle interfacce di rete, utilizzando SMB Multichannel.

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.

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

Ottimizzato per piccole operazioni di I/O di lettura/scrittura casuali comuni ai carichi di lavoro in stile transazionale di 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 relative alla sicurezza

  • L'account del servizio SQL Server e l'account del servizio SQL Server Agent devono avere FULL CONTROL autorizzazioni di condivisione 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 condivisione, vedere Condivisione e autorizzazioni NTFS in un file server.

    Nota

    Le autorizzazioni di condivisione FULL CONTROL e le autorizzazioni NTFS nelle cartelle di condivisione SMB devono essere limitate all'account del servizio SQL Server, all'account del servizio SQL Server Agent e agli utenti di Windows con ruoli del server di amministratore.

    Usare un account di dominio come account del servizio SQL Server. Se l'account di sistema viene usato come account del servizio, concedere le autorizzazioni per l'account del computer nel formato <domain-name>\<computer-name>*$*.

    Nota

    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 System 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 le autorizzazioni dell'account del computer. Configurare l'account del computer nel formato <domain-name>\<computer-name>*$*.

  • L'account usato per installare SQL Server deve disporre delle autorizzazioni FULL CONTROL per la cartella di condivisione file SMB usata come directory dati o qualsiasi altra cartella di dati (directory del database utente, directory di log del database utente, directory di log tempdb, directory di log tempdb, directory di backup) durante l'installazione del cluster.

  • All'account usato per installare SQL Server devono essere concessi SeSecurityPrivilege privilegi sul server di file SMB. Per concedere questo privilegio, usare la console Criteri di sicurezza locali sul file server per aggiungere l'account di installazione di SQL Server al criterio Gestione controllo e log di sicurezza. Questa impostazione è disponibile nella sezione Assegnazione diritti utente all'interno di Criteri locali.

Problemi noti e limitazioni

Dopo aver scollegato un database di SQL Server che si trova nella risorsa di archiviazione collegata alla rete, è possibile che si verifichino problemi di autorizzazione del database durante il tentativo di ricollegamento del database di SQL Server. Per altre informazioni, vedere Errore 5120.

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:

  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';
    

Quando si ospitano file di dati di SQL Server in condivisioni file SMB, tutte le operazioni di I/O sui file passano attraverso l'interfaccia di rete nel server o nella macchina virtuale. Assicurarsi che sia disponibile una larghezza di banda di rete sufficiente per supportare l'I/O richiesto dal carico di lavoro.

L'indisponibilità della condivisione file che ospita i file di dati di SQL Server a causa di problemi di connettività di rete o altri errori può causare ritardi o errori di I/O in SQL Server. Per i carichi di lavoro cruciali, assicurarsi che la ridondanza sia incorporata nella rete e nella condivisione file e che la condivisione file supporti il failover trasparente SMB 3.0, noto anche come disponibilità continua .