Как прочитать текущие настройки NTFS машины?

Перед вставкой данных файлового потока я хотел бы проверить следующие настройки NTFS:

1) Статус именования 8.3 (это отключается с помощью fsutil behavior set disable8dot3 1)

2) последний статус доступа (это отключается с помощью fsutil behavior set disablelastaccess 1)

3) размер кластера (устанавливается с помощью format F: /FS:NTFS /V:MyFILESTREAMContainer /A:64K)

Для файлового потока рекомендуется отключить (1) и (2) и установить (3) на 64 КБ.

Но прежде чем установить это, я хотел бы знать существующие настройки. Как мне это проверить? Ответ может быть в Delphi, но не обязательно.


person LaBracca    schedule 06.09.2010    source источник


Ответы (2)


Вы можете прочитать реестр для пунктов 1 и 2 (используя xp_regread в SQL)

Номер 3 не обязателен, но помогает и является лучшей практикой SQL Server в течение десяти или более лет. Вам нужно будет использовать sp_OA% или функцию CLR, чтобы прочитать это в SQL.

person gbn    schedule 06.09.2010
comment
sp_OA% требуют специальных разрешений и более того, как вы говорите, это не обязательно, поэтому в качестве первого шага я просто напишу в документации, что желательно иметь размер кластера до 64k. - person LaBracca; 06.09.2010
comment
В реестре может быть значение 2 для статуса disable8dot3, что означает просмотр внутри самого тома, но не очень понятно, как вы должны это делать. - person Trejkaz; 24.05.2018

Вызов Windows API GetDiskFreeSpace возвращает сектор_за_кластер и значения bytes_per_sector. Я думаю, что эта функция должна быть в модуле Windows.

person akarnokd    schedule 06.09.2010
comment
Это прочитает настройки на клиентской машине, которые могут отличаться от серверной коробки. - person Pawel Marciniak; 07.09.2010