Delen via


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, msdben 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.1of 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:

  1. DATABASE AANMAKEN
  2. ALTER DATABASE
  3. RESTORE-instructies
  4. BACKUP

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:

  1. Verken lees-/schrijfmachtigingen voor de bestandsshare aan alle computerobjecten in het cluster.

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