След като приложите тази актуална корекция, трябва да разрешите флаг за проследяване 1800 като параметър на стартиране на всички сървъри или реплики, които имат 512-байтов физически сектор размер и да ги рестартирате, за да работи правилно тази актуална корекция.
Симптоми
Обмислете следния сценарий:
-
Можете да разрешите alwaysOn групи за достъпност или регистрационни файлове функция в Microsoft SQL Server.
-
Дисковете, които съхраняват регистрационните файлове на основната и вторичната реплика в групата за достъпност AlwaysOn (AG), имат различни размери на сектора. Или в среди за доставка на регистрационни файлове дисковете, които се съхраняват регистрационните файлове за основните сървъри за изпращане на регистрационни файлове и вторичните сървъри за доставка на регистрационни файлове, имат различни размери на сектора. Например:
-
Основният регистрационен файл на реплика се намира на диск, който има размер на сектор от 512 байта. Обаче вторичен реплики регистрационен файл се намира на диск, който има размер на сектора от 4 килобайта (КБ).
-
Основният регистрационен файл на реплики се намира в локална локална система, която има размер на сектора 512 байта. Обаче вторичната реплика се намира на диск за съхранение на Windows Azure, който има размер на сектора от 4 килобайта (КБ).
-
В този случай в регистрационния файл на грешките на SQL Server е регистрирано следното съобщение за грешка: Съобщението за грешка може да продължи известно време след рестартирането, ако е имало регистрационни файлове, които не са били приложени към вторично преди рестартирането на сървъра.
Има X разместени регистрационни IOs, които изискват връщане към синхронна В/И. Текущият В/И е във файл ....
Освен това AG или синхронизирането на изпращането на регистрационни файлове се изпълнява много бавно поради синхронната входно-изходна система. Ако вторичната реплика е в windows Azure storage, завършването на процеса на синхронизиране отнема много повече време от очакваното.
Забележка: Този проблем възниква, когато използвате нови устройства, които имат размер на сектора от 4 КБ и стари устройства, които имат размер на сектора 512 байта. За повече информация относно новите устройства вижте SQL Server – нови устройства Използват размер на сектора 4K и SQL Server – места за съхранение/VHDx и размер на сектора 4K.
Решение
Проблемът първо е коригиран в следната кумулативна актуализация на SQL Server.
Кумулативна актуализация 5 за SQL Server 2014 /en-us/help/3011055
Кумулативна актуализация 3 за SQL Server 2012 SP2 /en-us/help/3002049
Кумулативна актуализация 13 за SQL Server 2012 SP1 /en-us/help/3002044
След като приложите актуалната корекция и разрешите флаг за проследяване 1800 като параметър на стартиране на всички сървъри реплики, изпълнявани на диск, който има размер на сектор от 512 байта, забелязвате малко увеличение на размера на следните файлове:
-
Регистрационен файл на транзакциите
-
Архивни копия на регистрационни файлове
Освен това забелязвате, че следните съобщения се регистрират в регистрационния файл на SQL Server грешка на основния сървър:
Опашката на регистрационния файл за базата данни "<име на базата данни>" се презаписва, за да съответства на новия размер на сектора от 4096 байта
Това е информационно съобщение, което може да бъде игнорирано безопасно.
Всяка нова кумулативна актуализация за SQL Server съдържа всички горещи поправки и всички корекции на защитата, които са били включени в предишната кумулативна актуализация. Вижте най-новите кумулативни актуализации за SQL Server:
Заобиколно решение
За да заобиколите този проблем, преместете регистрационния файл на транзакциите в местоназначението на устройство, което има байтове за физически сектор зададен като 512 байта.
Статут
Microsoft потвърди, че това е проблем в продуктите на Microsoft, които са изброени в раздела "Отнася се за".
Повече информация
Като най-добра практика се опитайте да се уверите, че всички дискове на всички реплики (поне всички дискове, които хостват регистрационните файлове) имат един и същ размер на сектора. В смесени среди, където вторичен има физически сектор от 512 байта и основният има размер на сектора 4 КБ, TF 1800 трябва да се използва като флаг при стартиране на всички сървъри или реплики, които имат 512 байтов физически сектор размер и рестартира. Това гарантира, че форматът на текущите регистрационни файлове използва размер на сектора от 4 КБ.
За повече информация как SQL Server работи с по-големи размери на сектора, вижте следната публикация в блога за поддръжка:
SQL Server – места за съхранение/VHDx и размер
на сектора на 4K
Можете да използвате помощната програма на Fsutil за команден прозорец, за да определите стойността за Байтове за физически сектор. Ако този параметър не се вижда в резултата, трябва да приложите актуалната корекция, която е посочена в статията от Базата знания 982018.
За да проверите вида на устройството, с което разполагате, изпълнете следните стъпки:
-
Изпълнете следната команда в команден прозорец с администраторски права:
Fsutil fsinfo ntfsinfo x: Забележка Контейнерът x представлява устройството, което проверявате.
-
Използвайте стойностите за Байтове за сектор и байтове за физически сектор , за да определите вида на устройството, което имате. За да направите това, използвайте следната таблица:
Стойност "Байтове за сектор"
Стойност "Байтове за физически сектор"
Тип устройство
4096
4096
4K native
512
4096
Разширен формат (известен също като 512E)
512
512
Присъщи 512 байта