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).
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 (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:
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 |
|
Windows Server 2008 R2 |
2.1 |
|
Windows Server 2012 |
3.0 |
|
Windows Server 2012 R2 |
3.02 |
|
Ü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).
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, werden die Berechtigungen für das Computerkonto im folgenden Format gewährt: <domain_name>\<computer_name>$.
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 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:
Erteilen Sie allen Computerobjekten im Cluster Lese-/Schreibberechtigungen für die Dateifreigabe.
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