Installieren von SQL Server mit dem Speicher der SMB-Dateifreigabe

Gilt für: SQL Server - nur Windows

Ab SQL Server 2012 (11.x) können Systemdatenbanken (master, model, msdb und tempdb) sowie Datenbank-Engine-Benutzerdatenbanken mit dem SMB-Dateiserver (Server Message Block) als Speicheroption installiert werden. Dies gilt sowohl für eigenständige SQL Server - als auch für SQL Server -Failoverclusterinstallationen (FCI).

Hinweis

Filestream auf einer SMB-Dateifreigabe wird derzeit nicht unterstützt.

Überlegungen zur Installation

SMB-Dateifreigabeformate:

Beim Angeben der SMB-Dateifreigabe werden die folgenden UNC-Pfadformate (Universal Naming Convention) für eigenständige und FCI-Datenbanken unterstützt:

  • \\Servername\Freigabename\

  • \\Servername\Freigabename

Weitere Informationen zu UNC (Universal Naming Convention) finden Sie unter UNC.

Der UNC-Loopbackpfad (ein UNC-Pfad, dessen Servername "localhost" oder "127.0.0.1" lautet bzw. dem Namen des lokalen Computers entspricht) wird nicht unterstützt. Darüber hinaus wird ein Sonderfall, bei dem SQL Server den Dateiservercluster verwendet, der auf demselben Knoten gehostet wird, auf dem SQL Server ausgeführt wird, ebenfalls nicht unterstützt. Um diese Situation zu vermeiden, wird empfohlen, SQL Server - und Dateiservercluster auf getrennten Windows-Clustern zu erstellen.

Folgende UNC-Pfadformate werden nicht unterstützt:

  • Loopbackpfad, z. B \\localhost\...\ oder \\127.0.0.1\...\

  • Administrative Freigaben, z. B. \\servername\x$

  • Weitere UNC-Pfadformate wie \\?\x:\

  • Zugeordnete Netzwerklaufwerke

Unterstützte DDL-Anweisungen(Data Definition Language, Datendefinitionssprache)

SMB-Dateifreigaben werden von den folgenden Transact-SQL-DDL-Anweisungen und gespeicherten Datenbank-Engine-Prozeduren unterstützt:

  1. CREATE DATABASE (SQL Server Transact-SQL)

  2. ALTER DATABASE (Transact-SQL)

  3. RESTORE (Transact-SQL)

  4. BACKUP (Transact-SQL)

Installationsoptionen

  • Legen Sie den Parameter „Datenstammverzeichnis“ in der Setup-Benutzeroberfläche auf der Seite „Datenbank-Engine-Konfiguration“ auf der Registerkarte „Datenverzeichnisse“ auf „\\fileserver1\share1“ fest.

  • Geben Sie „/INSTALLSQLDATADIR“ bei der Installation über die Eingabeaufforderung als „\\fileserver1\share1“ an.

    Die folgende Beispielsyntax zeigt, wie Sie SQL Server mithilfe der SMB-Dateifreigabeoption auf einem eigenständigen Server installieren:

    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  
    

    Ab SQL Server 2022 (16.x) lesen Sie die Microsoft SQL Server-Softwarelizenzbedingungen unter aka.ms/useterms.

    So installieren Sie eine SQL Server -Failoverclusterinstanz mit einem einzelnen Knoten mit der Standardinstanz von Datenbank-Engine und 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="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  
    

    Weitere Informationen zur Verwendung verschiedener Optionen für Befehlszeilenparameter in SQL Serverfinden Sie unter Installieren von SQL Server 2016 von der Eingabeaufforderung.

Überlegungen zum Betriebssystem (SMB-Protokoll oder SQL Server)

Jedes Windows-Betriebssystem verfügt über eine eigene SMB-Protokollversion, die gegenüber SQL Server transparent ist. Sie können die Vorteile der verschiedenen SMB-Protokollversionen in Bezug auf SQL Serververgleichen.

Betriebssystem SMB2-Protokollversion Vorteile für SQL Server
WindowsServer 2008 SP 2 2.0 Verbesserte Leistung gegenüber SMB-Vorgängerversionen.

Dauerhaftigkeit zur einfacheren Wiederherstellung nach vorübergehenden Netzwerkstörungen.
Windows Server 2008 R2 SP 1, einschließlich Server Core 2.1 Unterstützung eines höheren MTU-Werts, der für umfangreiche Datenübertragungen wie SQL-Sicherungs- und -Wiederherstellungsvorgänge vorteilhaft ist. Diese Funktion muss vom Benutzer aktiviert werden. Weitere Informationen zur Aktivierung dieser Funktion finden Sie unter Neuerungen in SMB (https://go.microsoft.com/fwlink/?LinkID=237319).

Signifikante Leistungsverbesserungen besonders für SQL-OLTP-Arbeitsauslastungen. Diese Leistungsverbesserungen erfordern die Anwendung eines Hotfixes. Weitere Informationen zum Hotfix finden Sie hier (https://mskb.pkisolutions.com/kb/2536493).
Windows Server 2012, einschließlich Server Core 3.0 Unterstützung für transparentes Failover von Dateifreigaben – ohne Ausfallzeiten und Administratoreingriffe seitens SQL-DBA oder Dateiserveradministratoren in Dateiserver-Clusterkonfigurationen.

Unterstützung für die E/A über mehrere Netzwerkschnittstellen gleichzeitig sowie Toleranz für Netzwerkschnittstellenfehler.

Unterstützung für Netzwerkschnittstellen mit RDMA-Funktionen.

Weitere Informationen zu diesen Features sowie zu Server Message Block finden Sie in der Übersicht zu Server Message Block (https://go.microsoft.com/fwlink/?LinkId=253174).

Unterstützung für Dateiserver mit horizontaler Skalierung mit kontinuierlicher Verfügbarkeit.
Windows Server 2012 R2, einschließlich Server Core 3.2 Unterstützung für transparentes Failover von Dateifreigaben – ohne Ausfallzeiten und Administratoreingriffe seitens SQL-DBA oder Dateiserveradministratoren in Dateiserver-Clusterkonfigurationen.

Unterstützung für E/A über mehrere Netzwerkschnittstellen gleichzeitig sowie Toleranz für Netzwerkschnittstellenfehler, unter Verwendung von SMB Multichannel.

Unterstützung für Netzwerkschnittstellen mit RDMA-Funktionen, unter Verwendung von SMB Direct.

Weitere Informationen zu diesen Features sowie zu Server Message Block finden Sie in der Übersicht zu Server Message Block (https://go.microsoft.com/fwlink/?LinkId=253174).

Unterstützung für Dateiserver mit horizontaler Skalierung mit kontinuierlicher Verfügbarkeit.

Optimiert für kleine wahlfreie Lese-/Schreib-E/A-Vorgänge, wie sie für SQL Server -OLTP üblich sind.

Maximale Übertragungseinheit (Maximum Transmission Unit, MTU) ist standardmäßig aktiviert; hierdurch wird bei umfassenden sequenziellen Übertragungen wie SQL Server Data Warehouse- und Datenbanksicherungen und -wiederherstellungen die Leistung wesentlich verbessert.

Sicherheitshinweise

  • Das SQL Server -Dienstkonto und das SQL Server -Agent-Dienstkonto sollten über FULL CONTROL-Freigabeberechtigungen und NTFS-Berechtigungen für die SMB-Freigabeordner verfügen. Das SQL Server -Dienstkonto kann ein Domänen- oder Systemkonto sein, wenn ein SMB-Dateiserver verwendet wird. Weitere Informationen zu Freigabe- und NTFS-Berechtigungen finden Sie unter Freigabe- und NTFS-Berechtigungen auf einem Dateiserver (https://go.microsoft.com/fwlink/?LinkId=245535).

    Hinweis

    Die FULL CONTROL-Freigabeberechtigungen und die NTFS-Berechtigungen in den SMB-Freigabeordnern sollten wie folgt beschränkt werden: SQL Server-Dienstkonto, SQL Server Agent-Dienstkonto und Windows-Benutzer mit admin-Serverrollen.

    Es wird empfohlen, das Domänenkonto als SQL Server-Dienstkonto zu verwenden. Wenn das Systemkonto als Dienstkonto verwendet wird, gewähren Sie die Berechtigungen für das Computerkonto im folgenden Format: <Domänenname>\<Computername>*$*.

    Hinweis

    Beim SQL Server-Setup ist es erforderlich, das Domänenkonto als Dienstkonto anzugeben, wenn die SMB-Dateifreigabe als Speicheroption festgelegt wird. Bei der SMB-Dateifreigabe kann das Systemkonto erst nach der SQL Server -Installation als Dienstkonto angegeben werden.

    Virtuelle Konten können nicht gegenüber einem Remotestandort authentifiziert werden. Alle virtuellen Konten verwenden die Berechtigung des Computerkontos. Geben Sie das Computerkonto im Format <Domänenname>\<Computername>*$* an.

  • Das für die Installation von SQL Server verwendete Konto sollte über FULL CONTROL-Berechtigungen für den als Datenverzeichnis verwendeten SMB-Dateifreigabeorder oder andere bei der Clustereinrichtung verwendete Datenordner (Benutzerdatenbankverzeichnis, Benutzerdatenbank-Protokollverzeichnis, tempdb-Verzeichnis, tempdb-Protokollverzeichnis, Sicherungsverzeichnis) verfügen.

  • Dem Konto, das für die Installation von SQL Server verwendet wird, müssen SeSecurityPrivilege-Berechtigungen auf dem SMB-Dateiserver zugewiesen werden. Diese Berechtigung weisen Sie zu, indem Sie die Konsole "Lokale Sicherheitsrichtlinie" auf dem Dateiserver verwenden, um der Richtlinie zum Verwalten von Überwachungs- und Sicherheitsprotokollen das SQL Server -Setupkonto hinzuzufügen. Diese Einstellung ist in der Konsole "Lokale Sicherheitsrichtlinie" im Abschnitt Zuweisen von Benutzerrechten unter Lokale Richtlinien verfügbar.

Einschränkungen und bekannte Probleme

  • Nachdem Sie eine SQL Server -Datenbank getrennt haben, die sich auf einem dem Netzwerk zugeordneten Speichermedium befindet, könnte ein Problem mit der Datenbankberechtigung auftreten, wenn Sie versuchen, die SQL Server -Datenbank erneut anzufügen. Weitere Informationen finden Sie unter Fehler 5120.

  • Wenn die SMB-Dateifreigabe als Speicheroption für eine gruppierte Instanz von SQL Serververwendet wird, kann das SQL Server -Failovercluster-Diagnoseprotokoll standardmäßig nicht in die Dateifreigabe geschrieben werden, da die SQL Server -Ressourcen-DLL keine Lese-/Schreibberechtigung für die Dateifreigabe hat. Führen Sie eine der folgenden Aktionen aus, um diesen Fehler zu beheben:

    1. Erteilen Sie allen Computerobjekten im Cluster Lese-/Schreibberechtigungen für die Dateifreigabe.

    2. Legen Sie als Speicherort für die Diagnoseprotokolle einen lokalen Dateipfad fest. Sehen Sie sich folgendes Beispiel an:

      ALTER SERVER CONFIGURATION  
      SET DIAGNOSTICS LOG PATH = 'C:\logs';  
      
  • Beim Hosting von Datendateien von SQL Server auf SMB-Dateifreigaben durchlaufen alle E/A-Vorgänge für die Dateien die Netzwerkschnittstelle des Servers oder der VM. Stellen Sie sicher, dass genügend Netzwerkbandbreite zur Unterstützung der für die Workload erforderlichen E/A-Vorgänge vorhanden ist.

  • Wenn die Dateifreigabe, auf der die Datendateien von SQL Server gehostet werden, aufgrund von Problemen mit der Netzwerkkonnektivität oder anderen Fehlern nicht verfügbar ist, kann dies zu E/A-Verzögerungen oder Fehlern in SQL Server führen. Stellen Sie für unternehmenskritische Workloads Redundanz im Netzwerk und bei den Dateifreigaben sicher. Sorgen Sie außerdem dafür, dass die Dateifreigabe ein transparentes Failover gemäß SMB 3.0 unterstützt. Diese Funktion wird auch als fortlaufende Verfügbarkeit bezeichnet.

Weitere Informationen

Planen einer SQL Server-Installation
Konfigurieren von Windows-Dienstkonten und -Berechtigungen