SQL Server installeren met SMB-bestandsshareopslag
van toepassing op:SQL Server- - alleen Windows
In SQL Server 2012 (11.x) en latere versies kunnen systeem-databases (master
, model
, msdb
en tempdb
) en database-engine gebruikersdatabases worden geïnstalleerd met Server Message Block (SMB) als opslagmogelijkheid. Dit is van toepassing op zowel zelfstandige SQL Server- als SQL Server-failoverclusterinstallaties (FCI).
Notitie
FILESTREAM wordt momenteel niet ondersteund op een SMB-bestandsshare.
Overwegingen bij de installatie
SMB-bestandsshare-indelingen
Wanneer u de SMB-bestandsshare opgeeft, worden de volgende waarden ondersteund voor UNC-padindelingen (Universal Naming Convention) voor zelfstandige en FCI-databases:
\\ServerName\ShareName\
\\ServerName\ShareName
Zie Universal Naming Conventionvoor meer informatie.
Het UNC-pad voor loopback (een UNC-pad waarvan de servernaam localhost is, 127.0.0.1
of de naam van de lokale computer) wordt niet ondersteund. In het geval dat een SQL Server met een bestandservercluster op hetzelfde knooppunt als de SQL Server wordt gehost, wordt dit ook niet ondersteund. Om deze situatie te voorkomen, moet u SQL Server en het bestandsservercluster maken op gescheiden Windows-clusters.
De volgende UNC-padindelingen worden niet ondersteund:
- Loopbackpad, zoals
\\localhost\...\
of\\127.0.0.1\...\
- Beheershares, zoals
\\servername\x$
- Andere UNC-padindelingen zoals
\\?\x:\
- Toegewezen netwerkstations
Ondersteunde DDL-instructies (Data Definitie Taal)
De volgende Transact-SQL DDL-instructies en opgeslagen procedures van de database-engine ondersteunen SMB-bestandsshares:
Installatieopties
Stel in de gebruikersinterface van de installatie op de pagina Database Engine Configuration, op het tabblad Gegevensmappen, de parameter hoofdmap van gegevens in als
\\<FileServer>\<Share1>\
. Vervang<FileServer>
en<Share1>
door waarden uit uw omgeving.Geef in de opdrachtpromptinstallatie
/INSTALLSQLDATADIR
op als\\<FileServer>\<Share1>\
.Hier volgt de voorbeeldsyntaxis voor het installeren van SQL Server op een zelfstandige server met behulp van de SMB-bestandsshareoptie:
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
Lees vanaf SQL Server 2022 (16.x) de licentievoorwaarden voor Microsoft SQL Server-software op aka.ms/useterms.
Als u een standaardexemplaar van een SQL Server-failovercluster met één knooppunt wilt installeren met de Database Engine en Analysis Services:
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
Zie SQL Server installeren en configureren in Windows vanaf de opdrachtpromptvoor meer informatie over het gebruik van verschillende opdrachtregelparameteropties in SQL Server.
Notitie
Uw wachtwoorden moeten voldoen aan het standaard wachtwoordbeleidvan SQL Server. Standaard moet het wachtwoord ten minste acht tekens lang zijn en tekens bevatten uit drie van de volgende vier sets: hoofdletters, kleine letters, basis-10 cijfers en symbolen. Wachtwoorden mogen maximaal 128 tekens lang zijn. Gebruik wachtwoorden die zo lang en complex mogelijk zijn.
Overwegingen voor het besturingssysteem (SMB-protocol vs. SQL Server)
Verschillende Windows-besturingssystemen hebben verschillende versies van het SMB-protocol en de SMB-protocolversie is transparant voor SQL Server. U vindt de voordelen van verschillende SMB-protocolversies met betrekking tot SQL Server.
Besturingssysteem | SMB2-protocolversie | Voordelen van SQL Server |
---|---|---|
Windows Server 2012 en latere versies, waaronder Server Core | 3.0 | Ondersteuning voor transparante failover van bestandsshares die geen downtime bieden, zonder tussenkomst nodig voor de databasebeheerder of bestandsserverbeheerder in bestandsserverclusterconfiguraties. Ondersteuning voor IO die meerdere netwerkinterfaces tegelijk gebruikt en tolerantie voor netwerkinterfacefouten. Ondersteuning voor netwerkinterfaces met RDMA-mogelijkheden. Zie Overzicht van Server Message Blockvoor meer informatie over deze functies en Server Message Block. Ondersteuning voor Scale Out File Server (SoFS) met continue beschikbaarheid. |
Windows Server 2012 R2 en latere versies, waaronder Server Core | 3.2 | Ondersteuning voor transparante failover van bestandsshares die geen downtime bieden, zonder tussenkomst nodig voor de databasebeheerder of bestandsserverbeheerder in bestandsserverclusterconfiguraties. Ondersteuning voor IO die meerdere netwerkinterfaces tegelijk gebruikt en tolerantie voor netwerkinterfacefouten, met behulp van SMB meerdere kanalen. Ondersteuning voor netwerkinterfaces met RDMA-mogelijkheden met behulp van SMB Direct. Zie Overzicht van Server Message Blockvoor meer informatie over deze functies en Server Message Block. Ondersteuning voor Scale Out File Server (SoFS) met continue beschikbaarheid. Geoptimaliseerd voor kleine, willekeurige I/O-schrijfbewerkingen die gebruikelijk zijn voor werkbelastingen in transactionele SQL Server-stijl. Maximum Transmission Unit (MTU) is standaard ingeschakeld, waardoor de prestaties in grote opeenvolgende overdrachten, zoals SQL Server-datawarehouse en back-up of herstel van databases, aanzienlijk worden verbeterd. |
Beveiligingsoverwegingen
Het SQL Server-serviceaccount en het SQL Server-agentserviceaccount moeten
FULL CONTROL
sharemachtigingen en NTFS-machtigingen hebben voor de SMB-sharemappen. Het SQL Server-serviceaccount kan een domeinaccount of een systeemaccount zijn als een SMB-bestandsserver wordt gebruikt. Zie Share- en NTFS-machtigingen op een bestandsservervoor meer informatie over share- en NTFS-machtigingen.Notitie
De
FULL CONTROL
sharemachtigingen en NTFS-machtigingen voor de SMB-sharemappen moeten worden beperkt tot het SQL Server-serviceaccount, het SQL Server Agent-serviceaccount en Windows-gebruikers met beheerdersserverfuncties.Gebruik een domeinaccount als een SQL Server-serviceaccount. Als het systeemaccount wordt gebruikt als een serviceaccount, verleent u de machtigingen voor het computeraccount in de indeling
<domain-name>\<computer-name>*$*
.Notitie
Tijdens het instellen van SQL Server moet u het domeinaccount opgeven als een serviceaccount als de SMB-bestandsshare is opgegeven als opslagoptie. Met de SMB-bestandsshare kan het
System
-account alleen worden opgegeven als een serviceaccount na de installatie van SQL Server.Virtuele accounts kunnen niet worden geverifieerd op een externe locatie. Alle virtuele accounts gebruiken de machtiging van het computeraccount. Stel het machineaccount in in de indeling
<domain-name>\<computer-name>*$*
.Het account dat wordt gebruikt om SQL Server te installeren, moet volledige beheermachtigingen hebben voor de SMB-bestandssharemap die wordt gebruikt als de gegevensmap of andere gegevensmappen (gebruikersdatabasemap, gebruikersdatabaselogboekmap,
tempdb
map, tempdb-logboekmap, back-upmap) tijdens het instellen van het cluster.Het account dat wordt gebruikt om SQL Server te installeren, moet worden verleend
SeSecurityPrivilege
bevoegdheden op de SMB-bestandsserver. Als u deze bevoegdheid wilt verlenen, gebruikt u de console Lokaal beveiligingsbeleid op de bestandsserver om het SQL Server-installatieaccount toe te voegen aan het controle- en beveiligingslogboekbeleid beheren beleid. Deze instelling is beschikbaar in de sectie Gebruikersrechtentoewijzingen onder Lokaal beleid.
Bekende problemen en beperkingen
Nadat u een SQL Server-database hebt losgekoppeld die zich in de opslag die is gekoppeld aan het netwerk, kunt u problemen ondervinden met databasemachtigingen tijdens het opnieuw koppelen van de SQL Server-database. Zie fout 5120voor meer informatie.
Als de SMB-bestandsshare wordt gebruikt als opslagoptie voor een geclusterd exemplaar van SQL Server, kan het diagnostische logboek voor SQL Server-failoverclusters standaard niet naar de bestandsshare worden geschreven omdat de SQL Server-bron-DLL geen lees-/schrijfmachtiging voor de bestandsshare heeft. Probeer een van de volgende methoden om dit probleem op te lossen:
Verken lees-/schrijfmachtigingen voor de bestandsshare aan alle computerobjecten in het cluster.
Stel de locatie van de diagnostische logboeken in op een lokaal bestandspad. Zie het volgende voorbeeld:
ALTER SERVER CONFIGURATION SET DIAGNOSTICS LOG PATH = 'C:\logs';
Wanneer u SQL Server-gegevensbestanden op SMB-bestandsshares host, gaat alle I/O voor de bestanden via de netwerkinterface op de server of virtuele machine. Zorg ervoor dat er voldoende netwerkbandbreedte is om de I/O te ondersteunen die is vereist voor de workload.
Niet beschikbaar van de bestandsshare die als host fungeert voor de SQL Server-gegevensbestanden vanwege netwerkverbindingsproblemen of andere fouten kunnen leiden tot I/O-vertragingen of fouten in SQL Server. Voor essentiële workloads moet u ervoor zorgen dat er redundantie is ingebouwd in het netwerk en de bestandsshare en dat de bestandsshare transparante SMB 3.0-failover ondersteunt, ook wel bekend als continue beschikbaarheid.