Udostępnij za pośrednictwem


Opis obsługi plików sieciowych baz danych w programie SQL Server

W tym artykule opisano obsługę plików sieciowych baz danych w programie SQL Server oraz sposób konfigurowania programu SQL Server do przechowywania bazy danych na serwerze sieciowym lub na serwerze magazynu NAS.

Oryginalna wersja produktu: SQL Server
Oryginalny numer KB: 304261

Podsumowanie

Firma Microsoft zwykle zaleca używanie sieci magazynowania (SAN) lub dysku dołączonego lokalnie do przechowywania plików bazy danych programu Microsoft SQL Server, ponieważ ta konfiguracja optymalizuje wydajność i niezawodność programu SQL Server. Domyślnie korzystanie z sieciowych plików bazy danych przechowywanych na serwerze sieciowym lub serwerze magazynu dołączonego do sieci (NAS) nie jest włączone dla programu SQL Server.

Można jednak skonfigurować program SQL Server do przechowywania bazy danych na serwerze sieciowym lub serwerze NAS. Serwery używane w tym celu muszą spełniać wymagania programu SQL Server dotyczące kolejności zapisu danych i gwarancji zapisu. Zostały one szczegółowo opisane w sekcji Więcej informacji .

W poniższych warunkach opisano użycie plików sieciowej bazy danych przechowywanych na serwerze sieciowym lub serwerze NAS:

  • To użycie jest domyślnie włączone w programie Microsoft SQL Server 2008 R2 i nowszych wersjach.

  • To użycie wymaga flagi śledzenia uruchamiania -T1807 do pracy w programie Microsoft SQL Server 2008 i starszych wersjach. Począwszy od programu SQL Server 2012, flaga śledzenia nie jest już wymagana. Aby uzyskać więcej informacji na temat włączania flag śledzenia uruchamiania, zobacz Opcje uruchamiania usługi aparatu bazy danych.

Urządzenia kwalifikowane w laboratorium jakości sprzętu systemu Windows (WHQL)

Serwery z systemem Microsoft Windows i serwery sieciowe lub serwery magazynu NAS, które są laboratorium jakości sprzętowej systemu Windows (WHQL) kwalifikowane automatycznie spełniają wymagania dotyczące kolejności zapisu i zapisu danych wymagane do obsługi urządzenia magazynującego programu SQL Server. Firma Microsoft obsługuje zarówno problemy związane z aplikacją, jak i magazynem w tych konfiguracjach.

Uwaga 16.

Aby rozwiązanie magazynu NAS było obsługiwane przez program SQL Server, powinno również spełniać wszystkie wymagania wymienione w dokumencie pobierania: Wymagania dotyczące programu niezawodności we/wy programu SQL Server.

Inne urządzenia

Jeśli używasz urządzenia magazynu innego niż WHQL z programem SQL Server, które obsługuje gwarancje we/wy dla transakcyjnego użycia bazy danych opisane w tym artykule, firma Microsoft zapewni pełną obsługę aplikacji opartych na programie SQL Server i programie SQL Server. Jednak problemy z urządzeniem lub jego podsystemem magazynowania zostaną odwoływały się do producenta urządzenia lub jego podsystemu magazynowania. Jeśli używasz urządzenia magazynu innego niż WHQL, które nie obsługuje gwarancji we/wy na potrzeby transakcyjnego użycia bazy danych opisanego w tym artykule, firma Microsoft nie może zapewnić obsługi aplikacji opartych na programie SQL Server lub programie SQL Server. Aby określić, czy urządzenie magazynujące inne niż WHQL obsługuje gwarancje we/wy dla transakcyjnego użycia bazy danych opisane w tym artykule lub są przeznaczone do użycia bazy danych, sprawdź dostawcę urządzenia. Ponadto skontaktuj się z dostawcą urządzenia, aby sprawdzić, czy urządzenie zostało prawidłowo wdrożone i skonfigurowane do użycia transakcyjnej bazy danych.

Więcej informacji

Domyślnie w programie SQL Server 2008 i starszych wersjach nie można utworzyć bazy danych programu SQL Server w sieciowym udziale plików. Każda próba utworzenia pliku bazy danych w zamapowanej lub lokalizacji sieciowej UNC generuje jeden z następujących komunikatów o błędach:

  • Komunikat o błędzie 1

    5105 "Błąd aktywacji urządzenia"

  • Komunikat o błędzie 2

    5110 "Plik "file_name" znajduje się na urządzeniu sieciowym, które nie jest obsługiwane dla plików bazy danych".

To zachowanie jest oczekiwane. Flaga śledzenia 1807 pomija sprawdzanie i umożliwia skonfigurowanie programu SQL Server z plikami baz danych opartymi na sieci. Program SQL Server i większość innych systemów baz danych przedsiębiorstwa używają dziennika transakcji i skojarzonej logiki odzyskiwania, aby zachować spójność transakcyjnej bazy danych w przypadku awarii systemu lub zamknięcia niezarządzanego. Te protokoły odzyskiwania polegają na możliwości zapisu bezpośrednio na nośniku dyskowym, dzięki czemu po powrocie żądania zapisu we/wy systemu operacyjnego do menedżera bazy danych system odzyskiwania może mieć pewność, że zapis został ukończony lub że ukończenie zapisu może być gwarantowane. Wszelkie awarie jakiegokolwiek oprogramowania lub składnika sprzętowego do honorowania tego protokołu mogą spowodować częściową lub całkowitą utratę lub uszkodzenie danych w przypadku awarii systemu. Aby uzyskać więcej informacji na temat tych aspektów protokołów rejestrowania i odzyskiwania w programie SQL Server, zobacz Opis algorytmów rejestrowania i przechowywania danych, które rozszerzają niezawodność danych w programie SQL Server.

Firma Microsoft nie obsługuje sieciowych plików bazy danych programu SQL Server na serwerach magazynu NAS lub sieciowych, które nie spełniają tych wymagań dotyczących zapisu i kolejności zapisu.

Ze względu na ryzyko błędów sieciowych zakłócających integralność bazy danych wraz z możliwymi konsekwencjami wydajności, które mogą wynikać z używania udziałów plików sieciowych do przechowywania baz danych, firma Microsoft zaleca przechowywanie plików bazy danych w podsystemach dysków lokalnych lub w sieciach magazynowania (SAN).

System magazynu dołączonego do sieci (NAS) to system magazynu oparty na plikach, do którego klienci dołączają się za pośrednictwem przekierowania sieciowego przy użyciu protokołu sieciowego (takiego jak TCP/IP). Domyślnie jeśli dostęp do zasobu dysku wymaga zamapowania udziału lub jeśli zasób dysku jest wyświetlany jako serwer zdalny za pośrednictwem ścieżki UNC (na przykład \Servername\Sharename) w sieci, system magazynu dysków nie jest obsługiwany jako lokalizacja dla baz danych programu SQL Server.

Problemy z wydajnością

Program SQL Server, podobnie jak inne systemy baz danych przedsiębiorstwa, może umieścić duże obciążenie podsystemu we/wy. W większości dużych aplikacji baz danych fizyczne konfiguracje we/wy i dostrajanie odgrywają znaczącą rolę w ogólnej wydajności systemu. Należy wziąć pod uwagę trzy główne czynniki wydajności we/wy:

  • Przepustowość we/wy: zagregowaną przepustowość, zwykle mierzoną w megabajtach na sekundę, która może być utrzymywana na urządzeniu bazy danych.
  • Opóźnienie we/wy: opóźnienie, zwykle mierzone w milisekundach, między żądaniem we/wy przez system bazy danych a punktem zakończenia żądania we/wy.
  • Koszt procesora CPU: koszt procesora CPU hosta, zwykle mierzony w mikrosekundach procesora CPU, dla systemu bazy danych w celu ukończenia pojedynczego we/wy.

Każdy z tych czynników we/wy może stać się wąskim gardłem i należy wziąć pod uwagę wszystkie te czynniki podczas projektowania systemu we/wy dla aplikacji bazy danych.

W najprostszej formie rozwiązanie NAS używa standardowego stosu oprogramowania przekierowania sieci, standardowej karty sieciowej i standardowych składników Ethernet. Wadą tej konfiguracji jest to, że wszystkie operacje we/wy plików są przetwarzane za pośrednictwem stosu sieciowego i podlegają ograniczeniom przepustowości samej sieci. Może to powodować problemy z wydajnością i niezawodnością danych, szczególnie w programach wymagających wysokiego poziomu operacji we/wy plików, takich jak program SQL Server. W niektórych konfiguracjach nas przetestowanych przez firmę Microsoft przepływność we/wy była jedną trzecią (1/3) rozwiązaniem magazynu bezpośrednio dołączonego na tym samym serwerze. W tej samej konfiguracji koszt procesora CPU do ukończenia operacji we/wy za pośrednictwem urządzenia NAS był dwa razy większy niż w przypadku lokalnego we/wy. W miarę rozwoju urządzeń NAS i infrastruktury sieciowej współczynniki te mogą również poprawić się w stosunku do bezpośrednich dołączonych magazynów lub sieci SAN. Ponadto jeśli dane aplikacji są w większości buforowane w puli bazy danych i nie występują żadne z opisanych wąskich gardeł we/wy, wydajność systemu opartego na nas jest prawdopodobnie odpowiednia dla aplikacji.

Zagadnienia dotyczące tworzenia kopii zapasowych i przywracania

Program SQL Server udostępnia interfejs wirtualnego urządzenia (VDI) do tworzenia kopii zapasowych. Interfejs VDI udostępnia dostawcom oprogramowania do tworzenia kopii zapasowych wysoką wydajność, skalowalność i niezawodne środki do wykonywania gorących kopii zapasowych oraz przywracania baz danych programu SQL Server.

Oprogramowanie do tworzenia kopii zapasowych działa na plikach bazy danych przechowywanych na urządzeniach NAS za pośrednictwem interfejsu VDI bez specjalnej obsługi specyficznej dla nas. Jednak powoduje to wiele dodatkowych ruchu sieciowego podczas tworzenia kopii zapasowych i przywracania. Podczas tworzenia kopii zapasowej za pośrednictwem karty VDI program SQL Server odczytuje pliki zdalnie i przekazuje dane do oprogramowania do tworzenia kopii zapasowych innej firmy uruchomionego na komputerze z programem SQL Server. Operacja przywracania jest analogiczna.

Aby uniknąć dodatkowych obciążeń związanych z siecią, dostawca kopii zapasowych musi zapewnić obsługę specyficzną dla serwera NAS przez dostawcę kopii zapasowych i dostawcę nas. Program SQL Server VDI umożliwia oprogramowaniu do tworzenia kopii zapasowych korzystanie ze sprzętu (split-mirror) lub technologii oprogramowania (kopiowania na zapis) obsługiwanych przez urządzenia NAS w celu tworzenia szybkich kopii plików bazy danych w środowisku lokalnym na serwerze NAS. Te technologie nie tylko unikają narzutów związanych z kopiowaniem plików za pośrednictwem sieci na potrzeby tworzenia kopii zapasowych, ale także mogą skrócić czas przywracania o kolejność wielkości.

Kopie zapasowe przechowywane na serwerze NAS są narażone na te same błędy, które wpływają na pliki bazy danych przechowywane na serwerze NAS. Należy rozważyć ochronę tych kopii zapasowych, kopiując je na nośnik alternatywny.

Uwaga

Uszkodzenie bazy danych w kopii zapasowej może wystąpić, jeśli używasz technologii tworzenia kopii zapasowych NAS bez obsługi interfejsu VDI programu SQL Server. Takie uszkodzenie obejmuje rozdarte strony lub niespójności między plikami dziennika i danych, jeśli są przechowywane na oddzielnych urządzeniach. Program SQL Server może nie wykrywać rozdartych stron lub niespójności do momentu przywrócenia bazy danych i uzyskania dostępu do uszkodzonych danych. Firma Microsoft nie obsługuje korzystania z technologii tworzenia kopii zapasowych NAS, które nie są koordynowane z programem SQL Server.

Obsługa kopii zapasowych i obsługa dostawcy NAS dla karty VDI programu SQL Server różni się. Aby uzyskać szczegółowe informacje na temat obsługi interfejsu VDI, zapoznaj się z dostawcami oprogramowania NAS i oprogramowania do tworzenia kopii zapasowych.

Firma Microsoft wzywa klientów, którzy rozważają wdrożenie rozwiązania NAS dla baz danych programu SQL Server, aby skonsultowali się z dostawcą nas, aby upewnić się, że kompleksowe rozwiązanie jest przeznaczone do użycia w bazie danych. Wielu dostawców nas ma przewodniki najlepszych rozwiązań i certyfikowane konfiguracje na potrzeby tego użycia. Firma Microsoft zaleca również, aby klienci testowali wydajność operacji we/wy, aby upewnić się, że żaden z wymienionych wcześniej czynników we/wy nie powoduje wąskiego gardła w swojej aplikacji.

Poniższa lista zawiera opis obsługi plików opartych na sieci w klastrach trybu failover SQL:

Dodatkowe uwagi

Nieprawidłowe użycie oprogramowania bazy danych z produktem NAS lub użycie bazy danych z niewłaściwie skonfigurowanym produktem NAS może spowodować utratę danych, w tym całkowitą utratę bazy danych. Jeśli urządzenie NAS lub oprogramowanie sieciowe nie spełnia całkowicie gwarancji danych, takich jak zamawianie zapisu lub zapis, sprzęt, oprogramowanie, a nawet awarie zasilania mogą poważnie naruszyć integralność danych.

Informacje