Dotyczy
SQL Server 2017 Developer Linux SQL Server 2017 Enterprise Core on Linux SQL Server 2017 Enterprise on Linux SQL Server 2017 Standard on Linux

Poprawy

Załóżmy, że korzystasz z programu SQL Server 2017 w systemie Linux. W niektórych scenariuszach program SQL Server może powodować utratę danych w systemach korzystających z nietrwałych pamięci podręcznych. Strata jest spowodowana nieprzewidywanymi okolicznościami, takimi jak awaria zasilania, zanim buforowane dane zostaną zapisane na stabilnym nośniku. Aby zapobiec takim sytuacjom, w aktualizacji skumulowanej 6 (CU6) programu SQL Server 2017 w systemie Linux jest wprowadzany wymuszony mechanizm opróżniania . Jeśli podsystem magazynowania nie gwarantuje trwałego zapisu w ramach utraty zasilania, zalecamy zastosowanie CU6 dla programu SQL Server 2017 w systemie Linux. Ta aktualizacja umożliwia wykonywanie następujących czynności:

  • Wymuszone opróżnianie zachowanie podczas działania zapisu bazy danych, takie jak punkt kontrolny i zapisy w dzienniku transakcji.

  • Ustawienie konfiguracji domyślnie WriteThrough = 1, alternatewritethrough = 1. Te ustawienia domyślne umożliwiają programowi SQL Server Upewnianie się, że zapisy są durably opróżniane w celu zablokowania urządzeń. Alternatywny WriteThrough jest opcją umożliwiającą optymalizację żądań opróżniania trwałości na system plików. Aby uzyskać więcej informacji na temat dwóch ustawień, zapoznaj się z poniższą tabelą:

Nazwa

Domyślne

Opis

writethrough

1

Prawidłowe wartości to 0 i 1. 

1 = tłumaczy FILE_FLAG_WRITE_THROUGH żądania na O_DSYNC otwierane.

0 = uniemożliwia przetłumaczenie wniosków o FILE_FLAG_WRITE_THROUGH O_DSYNC otwarcia.

alternatewritethough

1

Prawidłowe wartości to 0 i 1. 

1 = włączenie zoptymalizowanego opróżniania przez rozszerzenie hosta dla żądań FILE_FLAG_WRITE_THROUGH. Pisanie (-a) w celu zoptymalizowania połączeń z fdatasync dla urządzenia blokującego.

0 = wyłącza alternatywną optymalizację opróżniania. Plik zostanie otwarty przy użyciu O_DSYNC, a podstawowy system plików wykonuje wymagane żądanie zapisu i opróżnienia.

Uwaga ustawienie alternatewritethrough obowiązuje tylko wtedy, gdy WriteThrough = 1.

Więcej informacji

Aby uzyskać więcej informacji, zobacz najważniejsze wskazówki dotyczące wydajności i wskazówki dotyczące konfiguracji programu SQL Server 2017 w systemie Linux do obsługi zadań zapisu w wysokiej rozdzielczości i zaleceń dotyczących umieszczania plików bazy danych.  

Instalacje programu SQL Serverdziałające w systemach pamięci masowej, które gwarantują zapisywanie,są O_DIRECT bezpiecznemoże włączyć flagę śledzenia (TF) 3979, aby wyłączyć wymuszone działanie opróżniania i ustawić    Opcjealternatewritethrough i WriteThrough w kluczu MSSQL. conf na zero. To zwróci wartość SQL Server 2017 dozachowania przed CU6.

Warto System pamięci masowej może upewnić się, że zapisy buforowane lub przemieszczane są uważane za bezpieczne i trwałe, gwarantując, że zapisy wystawione na to urządzenie są przechowywane na nośniku, który pozostanie w trakcie awarii systemu, zresetowania interfejsu i awarii zasilania, a sam nośnik jest nadmiarowy.

Poniżej przedstawiono więcej szczegółów dotyczących zachowania programu SQL Server dla plików we/wy, których zmiany są następujące:

  • Pliki bazy danych (mdf) i plików dziennika transakcji (ldf) nie korzystają domyślnie z funkcji WriteThrough i alternatewritethrough, ponieważ używają wymuszonego opróżniania . TF 3979 wyłącza używanie wymuszonego działania opróżniania dla plików dziennika bazy danych i dziennika transakcji i będzie korzystać z WriteThrough i alternatewritethrough.

  • Inne pliki, które są otwierane przy użyciu FILE_FLAG_WRITE_THROUGH w programie SQL Server, takich jak migawki bazy danych, migawki wewnętrzne na potrzeby sprawdzania spójności bazy danych (CHECKDB), pliki śledzenia profilera i rozszerzone pliki śledzenia zdarzeń, będą korzystać z optymalizacji WriteThrough i alternatewritethrough.

Rozwiązanie

Ta aktualizacja jest uwzględniona w następującej zbiorczej aktualizacji dla programu SQL Server:

       Zbiorcza aktualizacja 6 dla programu SQL Server 2017

Każda nowa Zbiorcza aktualizacja programu SQL Server zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń uwzględnione w poprzedniej aktualizacji zbiorczej. Zapoznaj się z najnowszymi aktualizacjami zbiorczymi dla programu SQL Server:

Najnowsza Zbiorcza aktualizacja dla programu SQL Server 2017

Informacje

Informacje o terminologiiużywanej przez firmę Microsoft do opisywania aktualizacji oprogramowania.

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.