Udostępnij za pośrednictwem


Instalowanie programu SQL Server przy użyciu magazynu udziałów plików SMB

Dotyczy:programu SQL Server — tylko system Windows

W programie SQL Server 2012 (11.x) i nowszych wersjach można zainstalować bazy danych systemowych (master, model, msdbi tempdb) oraz bazy danych użytkownika silnika bazy danych na serwerze plików SMB jako opcję magazynowania. Dotyczy to zarówno autonomicznych instalacji SQL Server, jak i instalacji w klastrze trybu failover (FCI) SQL Server.

Notatka

Funkcja FILESTREAM nie jest obecnie obsługiwana w udziale plików SMB.

Zagadnienia dotyczące instalacji

Formaty udziałów plików SMB

Po określeniu udziału plików SMB następujące wartości są obsługiwane w formatach ścieżek UNC dla autonomicznych baz danych i baz danych instancji klastra w środowisku trybu awaryjnego.

  • \\ServerName\ShareName\
  • \\ServerName\ShareName

Aby uzyskać więcej informacji, zobacz Universal Naming Convention.

Ścieżka UNC sprzężenia zwrotnego (ścieżka UNC, której nazwa serwera to localhost, 127.0.0.1lub nazwa komputera lokalnego) nie jest obsługiwana. W specjalnym przypadku program SQL Server z klastrem serwera plików hostowanym w tym samym węźle co program SQL Server również nie jest obsługiwany. Aby zapobiec takiej sytuacji, należy utworzyć program SQL Server i klaster serwera plików w oddzielnych klastrach systemu Windows.

Następujące formaty ścieżek UNC nie są obsługiwane:

  • Ścieżka sprzężenia zwrotnego, taka jak \\localhost\...\ lub \\127.0.0.1\...\
  • Udziały administracyjne, takie jak \\servername\x$
  • Inne formaty ścieżek UNC, takie jak \\?\x:\
  • Zmapowane dyski sieciowe

Obsługiwane instrukcje języka definicji danych (DDL)

Następujące instrukcje Transact-SQL DDL i procedury składowane silnika bazy danych obsługują zestawy plików SMB:

  1. UTWÓRZ BAZĘ DANYCH
  2. ALTER DATABASE
  3. instrukcje RESTORE
  4. KOPIA ZAPASOWA

Opcje instalacji

  • W interfejsie użytkownika instalacji, na stronie Konfiguracja Aparatu Bazy Danych, na karcie Katalogi Danych, ustaw parametr Katalog Główny Danych jako \\<FileServer>\<Share1>\. Zastąp <FileServer> i <Share1> wartościami ze środowiska.

  • W instalacji wiersza polecenia określ /INSTALLSQLDATADIR jako \\<FileServer>\<Share1>\.

    Oto przykładowa składnia instalowania programu SQL Server na serwerze autonomicznym przy użyciu opcji udziału plików SMB:

    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
    

    Począwszy od programu SQL Server 2022 (16.x), przeczytaj postanowienia licencyjne dotyczące oprogramowania programu Microsoft SQL Server pod adresem aka.ms/useterms.

    Aby zainstalować domyślne wystąpienie klastra trybu failover SQL Server z jednym węzłem z wykorzystaniem silnika bazy danych i usługi 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
    

    Aby uzyskać więcej informacji na temat użycia różnych opcji parametrów wiersza polecenia w programie SQL Server, zobacz Install and configure SQL Server on Windows (Instalowanie i konfigurowanie programu SQL Server w systemie Windows) w wierszu polecenia.

Notatka

Hasła powinny być zgodne z domyślnymi zasadami haseł programu SQL Server. Domyślnie hasło musi mieć długość co najmniej ośmiu znaków i zawierać znaki z trzech z następujących czterech zestawów: wielkie litery, małe litery, cyfry podstawowe-10 i symbole. Hasła mogą mieć długość maksymalnie 128 znaków. Używaj haseł, które są tak długie i złożone, jak to możliwe.

Zagadnienia dotyczące systemu operacyjnego (protokół SMB vs. SQL Server)

Różne systemy operacyjne Windows mają różne wersje protokołu SMB, a wersja protokołu SMB jest niewidoczna dla programu SQL Server. Korzyści wynikające z różnych wersji protokołu SMB można znaleźć w odniesieniu do programu SQL Server.

System operacyjny Wersja protokołu SMB2 Korzyści z programu SQL Server
Windows Server 2012 i nowsze wersje, w tym Server Core 3.0 Obsługa przezroczystego przełączania awaryjnego udziałów plikowych zapewniających zerowy przestój, bez konieczności interwencji administratora bazy danych ani administratora serwera plików w konfiguracjach klastra serwera plików.

Obsługa operacji we/wy przy użyciu wielu interfejsów sieciowych jednocześnie i tolerancja awarii interfejsu sieciowego.

Obsługa interfejsów sieciowych z funkcjami RDMA.

Aby uzyskać więcej informacji na temat tych funkcji i bloku komunikatów serwera, zobacz Server Message Block overview.

Obsługa skalowalnego serwera plików (SoFS) z ciągłą dostępnością.
Windows Server 2012 R2 i nowsze wersje, w tym Server Core 3.2 Obsługa przezroczystego przełączania awaryjnego udziałów plików, zapewniająca zerowy przestój, bez konieczności interwencji administratora bazy danych lub administratora serwera plików w konfiguracjach klastrów serwerów plików.

Obsługa operacji I/O przy użyciu wielu interfejsów sieciowych jednocześnie i tolerancja awarii interfejsu sieciowego przy użyciu protokołu SMB Multichannel.

Obsługa interfejsów sieciowych z funkcjami RDMA przy użyciu protokołu SMB Direct.

Aby uzyskać więcej informacji na temat tych funkcji i bloku komunikatów serwera, zobacz Server Message Block overview.

Obsługa skalowalnego poziomo serwera plików (SoFS) z ciągłą dostępnością.

Zoptymalizowany pod kątem małych losowych operacji we/wy odczytu/zapisu typowych dla obciążeń w stylu transakcyjnym programu SQL Server.

Maksymalna jednostka transmisji (MTU) jest domyślnie włączona, co znacznie zwiększa wydajność dużych transferów sekwencyjnych, takich jak magazyn danych programu SQL Server i tworzenie kopii zapasowej lub przywracanie bazy danych.

Zagadnienia dotyczące zabezpieczeń

  • Konto usługi programu SQL Server i konto usługi agenta programu SQL Server powinny mieć FULL CONTROL uprawnienia udziału i uprawnienia NTFS w folderach udziału SMB. Konto usługi programu SQL Server może być kontem domeny lub kontem systemowym, jeśli jest używany serwer plików SMB. Aby uzyskać więcej informacji na temat uprawnień do udostępniania i systemu plików NTFS, zobacz uprawnienia do udostępniania i systemu plików NTFS na serwerze plików.

    Notatka

    Uprawnienia udziału FULL CONTROL i uprawnienia systemu plików NTFS w folderach udziału SMB powinny być ograniczone do konta usługi programu SQL Server, konta usługi agenta programu SQL Server i użytkowników systemu Windows mających role administratora serwera.

    Użyj konta domeny jako konta usługi programu SQL Server. Jeśli konto systemowe jest używane jako konto usługi, przyznaj uprawnienia dla konta komputera w formacie <domain-name>\<computer-name>*$*.

    Notatka

    Podczas instalacji programu SQL Server należy określić konto domeny jako konto usługi, gdy jako opcję magazynu określono udział plików SMB. W przypadku udziału plików SMB konto System można określić tylko jako konto usługi po zainstalowaniu programu SQL Server.

    Nie można uwierzytelnić kont wirtualnych w lokalizacji zdalnej. Wszystkie konta wirtualne używają uprawnień konta maszyny. Skonfiguruj konto maszyny w formacie <domain-name>\<computer-name>*$*.

  • Konto używane do instalowania programu SQL Server powinno mieć uprawnienia PEŁNA KONTROLA nad folderem udziału plików SMB używanym jako katalog danych lub nad dowolnymi innymi folderami danych (katalog użytkownika, katalog logów bazy danych użytkownika, katalog tempdb, katalog logów tempdb, katalog kopii zapasowych) podczas instalacji klastra.

  • Konto używane do instalowania programu SQL Server powinno mieć przyznane uprawnienia SeSecurityPrivilege na serwerze plików SMB. Aby przyznać to uprawnienie, użyj konsoli zasady zabezpieczeń lokalnych na serwerze plików, aby dodać konto konfiguracji programu SQL Server do zasad Zarządzanie inspekcją i dziennikiem zabezpieczeń. To ustawienie jest dostępne w sekcji Przypisywanie praw użytkownika w obszarze Zasady lokalne.

Znane problemy i ograniczenia

Po odłączeniu bazy danych programu SQL Server znajdującej się w magazynie dołączonym do sieci mogą wystąpić problemy z uprawnieniami bazy danych podczas próby ponownego dołączenia bazy danych programu SQL Server. Aby uzyskać więcej informacji, zobacz błąd 5120.

Jeśli udział plików SMB jest używany jako opcja magazynowania dla zklastrowanego wystąpienia SQL Server, domyślnie Dziennik diagnostyczny klastrów awaryjnych SQL Server nie może być zapisywany w udziale plików, ponieważ biblioteka DLL zasobu SQL Server nie ma uprawnień odczytu/zapisu w udziale plików. Aby rozwiązać ten problem, spróbuj wykonać jedną z następujących metod:

  1. Udziel uprawnień do odczytu/zapisu w udziale plików wszystkim obiektom komputera w klastrze.

  2. Ustaw lokalizację dzienników diagnostycznych na ścieżkę pliku lokalnego. Zobacz następujący przykład:

    ALTER SERVER CONFIGURATION SET DIAGNOSTICS LOG PATH = 'C:\logs';
    

Podczas hostowania plików danych programu SQL Server w udziałach plików SMB wszystkie operacje we/wy na plikach przechodzą przez interfejs sieciowy na serwerze lub maszynie wirtualnej. Upewnij się, że przepustowość sieci jest wystarczająca do obsługi operacji we/wy wymaganych przez obciążenie.

Niedostępność udziału plików hostującego pliki danych programu SQL Server z powodu problemów z łącznością sieciową lub innych awarii może spowodować opóźnienia lub błędy wejścia/wyjścia w programie SQL Server. W przypadku obciążeń o znaczeniu krytycznym upewnij się, że istnieje nadmiarowość zastosowana do sieci i udziałów plików oraz że udziały plików obsługują przezroczyste przełączenie awaryjne w protokole SMB 3.0, znane również jako ciągła dostępność.