Іноді під час нашого обслуговування індексу завдання не вдасться з помилкою 17 SEV, коли не можна виділити достатньо місця для об'єкта, який він відновлює. База даних складається так:
Data_file1 PRIMARY 0 growth 0% free Max Size UNLIMITED
Data_file2 PRIMARY 0 growth 0% free Max Size UNLIMITED
Data_file3 PRIMARY 0 growth Less than 1% free Max Size UNLIMITED
Data_file4 PRIMARY 250 MB growth Less than 1% free Max Size UNLIMITED
По суті, 3 з 4 файлів даних заповнені і не дозволяють рости, четвертий - повний і дозволено рости. Файли розкинуті по різних LUN (і причина, чому це брудно). Отже, коли розпочнеться перебудова індексу в Інтернеті, я розумію, що якщо потрібен додатковий простір, він переросте в Data_file4 і буде добре, але, мабуть, намагається перерости в інший файл, де зростання не дозволений і не вдається. Я не в змозі відтворити цю помилку, але мені було цікаво, чи хтось розуміє, чому це відбувається.
Повна версія SQL Server - це 2008 R2 Enterprise, SP2 CU 4 (10.50.4270). Ми використовуємо сценарії відновлення Ola Hallengren, де ми відновлюємо роботу в Інтернеті, але не робимо ніякого роду tempdb
.
max_size is
В даний час встановлено НЕЗАГАЛЬНО, навіть на тих, які зростають на 0. Я зараз розслідую це у своєму тесті на запитання.
If max_size is not specified, the file size will increase until the disk is full.
Дозволено, якщо автоматичний ріст вимкнено, це не слід намагатися виділити з цих файлів (A value of 0 indicates that automatic growth is set to off and no additional space is allowed.
), але може виникнути помилка, тому не завадить спробувати його, якщо він не встановлений.