Installieren von SQL Server mit SMB-Dateifreigabe als Speicheroption

Ab SQL Server 2012 können Systemdatenbanken (Master, Model, MSDB und TempDB) sowie Database Engine (Datenbankmodul)-Benutzerdatenbanken mit dem SMB (Server Message Block)-Dateiserver als Speicheroption installiert werden. Dies gilt sowohl für eigenständige SQL Server- als auch für SQL Server-Failoverclusterinstallationen (FCI).

HinweisHinweis

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 (https://go.microsoft.com/fwlink/?LinkId=245534).

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

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

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

  1. CREATE DATABASE (Transact-SQL)

  2. ALTER DATABASE (Transact-SQL)

  3. RESTORE (Transact-SQL)

  4. BACKUP (Transact-SQL)

  5. sp_attach_db (Transact-SQL)

  6. sp_attach_single_file_db (Transact-SQL)

Installationsoptionen

  • Legen Sie den Parameter "Datenstammverzeichnis" auf der Setup-Benutzeroberfläche auf der Registerkarte "Datenverzeichnisse" der Seite "Datenbankmodulkonfiguration" auf "\\fileserver1\share1\" fest.

  • Geben Sie "/INSTALLSQLDATADIR" bei der Installation über die Befehlszeile 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
    

    So installieren Sie eine aus einem Knoten bestehende SQL Server-Failoverclusterinstanz mit dem Datenbankmodul und Analysis Services (Standardinstanz):

    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 Server 2012 finden Sie unter Installieren von SQL Server 2012 von der Eingabeaufforderung.

Überlegungen zum Betriebssystem (SMB-Protokoll oderSQL 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 Server 2012 vergleichen.

Betriebssystem

SMB2-Protokollversion

Vorteile für SQL Server

Windows Server 2008

2.0

  • Verbesserte Leistung gegenüber SMB-Vorgängerversionen.

  • Stabilität zur einfacheren Wiederherstellung nach vorübergehenden Netzwerkstörungen.

Windows Server 2008 R2

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. Ausführliche Informationen zum Aktivieren dieser Funktion finden Sie unter Neues 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://go.microsoft.com/fwlink/?LinkId=237320).

Windows Server 2012

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 Funktionen 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 (Scale Out File Server, SoFS) mit kontinuierlicher Verfügbarkeit.

Windows Server 2012 R2

3.02

  • 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 über SMB Multichannel.

  • Unterstützung für Netzwerkschnittstellen mit RDMA-Funktionen über SMB Direct.

  • Weitere Informationen zu diesen Funktionen 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 (Scale Out File Server, SoFS) mit kontinuierlicher Verfügbarkeit.

  • Optimiert für kleine wahrfreie 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. Dadurch wird die Leistung bei großen sequenziellen Übertragungen wie der Sicherung und der Wiederherstellung von SQL Server-Data Warehouse und -Datenbank deutlich verbessert.

Überlegungen zur Sicherheit

  • 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 Share-Berechtigung und NTFS-Berechtigung für einen Dateiserver (https://go.microsoft.com/fwlink/?LinkId=245535).

    HinweisHinweis

    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, werden die Berechtigungen für das Computerkonto im folgenden Format gewährt: <domain_name>\<computer_name>$.

    HinweisHinweis
    • 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 folgenden Format an: <domain_name>\<computer_name>$.

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

  • Dem für die SQL Server-Installation verwendeten Konto sollten 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.

Bekannte Probleme

  • Nachdem Sie eine SQL Server 2012-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. Das Problem wird in diesem KB-Artikel (https://go.microsoft.com/fwlink/?LinkId=237321) beschrieben. Wie Sie dieses Problem umgehen, erfahren Sie im KB-Artikel im Abschnitt Weitere Informationen.

  • Wenn die SMB-Dateifreigabe als Speicheroption für eine gruppierte Instanz von SQL Server verwendet 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';
      

Siehe auch

Verweis

Konfigurieren von Windows-Dienstkonten und -Berechtigungen

Konzepte

Planen einer SQL Server-Installation

Andere Ressourcen

Themen zu Vorgehensweisen für die Installation