Поддерживает ли SQL Server 2017, включая более старые версии, размеры секторов диска 8 КБ?

13

Дисковые накопители (в общих чертах включающие не только вращающиеся носители, но и не вращающиеся носители [SSD, NVMe и т. Д.]) Продолжают развиваться в своих базовых форматах и ​​оборудовании. Частично это было «улучшением» с 512-байтовых размеров физических секторов до 4- килобайтных размеров физических секторов, что меняет структуру на диске (512n, 512e, 4kn).

Эта следующая эволюция заключается в использовании физических секторов размером 8 тыс., Которые некоторые производители начинают производить и вводить в эксплуатацию. Учитывая этот следующий шаг, поддерживается ли диск с размером сектора 8 КБ в Windows? SQL Server заботится о размерах секторов?

Шон Галларди
источник

Ответы:

15

Поддерживается ли диск с размером сектора 8 КБ в Windows?

В настоящее время нет, он не поддерживается Windows и был задокументирован .

SQL Server заботится о размерах секторов?

Да, SQL Server заботится о размерах секторов. Фактически, SQL Server проверяет информацию о базовом физическом диске, поскольку у него есть структуры данных и алгоритмы, которые работают с текущими размерами секторов диска по разным причинам (целостность данных, оптимизация и т. Д.).

Если вы попытаетесь использовать размер физического сектора выше 4k (4096), вы получите сообщение об ошибке:

Msg 5179, Level 16, State 1, Line 1
Cannot use file 'S:\Folder\TestDB.mdf ', because it is on a volume with sector size 8192.
SQL Server supports a maximum sector size of 4096 bytes.
Move the file to a volume with a compatible sector size.

В этом случае вы можете увидеть, что в сообщении об ошибке указывается, что максимальный размер сектора составляет 4096 (4 КБ). Это означает, что том нельзя использовать для SQL Server, и, как отмечалось выше, он не будет поддерживаться и в Windows.

Решение

Если вы получаете эту ошибку / проблему, к сожалению, вам потребуется использовать поддерживаемый размер сектора диска, например, 512 байт или 4 КБ. Другие форматы не поддерживаются и не могут быть использованы. Вам нужно будет связаться с поставщиком оборудования для используемой дисковой подсистемы и спросить, есть ли другие варианты.

Как уже упоминалось в комментарии, в Linux вы можете эмулировать диск 8k с новой опцией логического размера блока losetup -bс ядрами 4.14.

Шон Галларди
источник