Чи корисно мати кореневий каталог екземплярів SQL Server на окремому диску?


29

Я знаю, що можна змінити багато шляхів за замовчуванням під час встановлення SQL Server, і, як правило, під час встановлення я змінюю папки даних і журналів на окремих дисках (як правило, D і E), однак нещодавно мені дали попередньо встановлена ​​машина, на якій використовується ім'я екземпляра, відмінне від за замовчуванням, і вони налаштували кореневий каталог екземпляра, щоб він знаходився на диску D разом із файлами mdf. Це означає, що на тому, що зазвичай був би відносно чистим накопичувачем із лише папками та файлами баз даних, у мене зараз є повна установка бінарних файлів SQL Server.

тобто у мене є наступне:

C:\Program Files\Microsoft SQL Server\ --Base Install
D:\Microsoft SQL Server\MSSQL10_50.MyInstance --Instance Binaries
D:\Microsoft SQL Server\MSSQL10_50.MyInstance\MSSQL\DATA --Data Files
E:\Microsoft SQL Server\MSSQL10_50.MyInstance\MSSQL\LOGS --Log Files

Де зазвичай я бігав би з чимось на кшталт:

C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\ --Base Install & Default Instance Binaries
D:\MSSQL\DATA --Data Files
E:\MSSQL\LOGS --Log Files

Я можу зрозуміти, для чого потрібна наявність бінарної папки окремого примірника, але я не можу зрозуміти, чому було б корисно розмістити всі ці бінарні файли на окремому диску.

Хтось може сказати мені, чому це може бути розумною справою? А може, це зовсім не має ніякого значення? Мені це просто здається страшенно неохайним ...

Відповіді:


23

Що стосується розділення кореня екземпляра, є кілька аргументів на користь цього.

  1. Деякі люди висловлюються за те, щоб зберегти свій "С" диск, призначений лише для ОС та ОС бінарних файлів. Це може дати вам кілька варіантів відновлення у разі збоїв на диску C, це може допомогти запобігти виникненню або отримання проблем, пов’язаних з простором, в ОС від обміну з іншими програмами.
  2. Ви ізолюєте бінарні файли SQL Server від інших програм і забезпечуєте наявність деяких критичних папок, таких як папка Журнали, куди йдуть журнали помилок - ця папка повинна бути доступною для запуску серверів SQL. Ви в основному захищаєте себе від інших.

Ви можете розмістити бінарні файли / екземпляри SQL Server у тому самому місці, де ви зазвичай розміщуєте ваші інші програмні файли. Але якщо ви це зробите - принаймні переконайтеся, що ви берете файли бази даних системи та, можливо, ваше резервне місце резервного копіювання та переміщуєте її кудись інше ..

Ось що я, як правило, роблю, коли мені дають грати необмежену кількість букв диска (як мінімум. Літери тут не важливі):

  • C - файли ОС та системного рівня. Тільки
  • D - програмні файли для всіх програм (включаючи SQL Server)
  • S - Файли баз даних на рівні екземплярів / системи системних баз даних SQL Server і файли журналів (за винятком TempDB). S у більшості ситуацій, якщо папки забезпечують розділення)

( ED - Ще одна примітка - у мене часто немає «S» накопичувача. На кінець дня файли вашої системної бази даних для Master, Model, MSDB та Resource db живуть на тому ж диску, що і деякі користувачі файли баз даних, але в окремій папці для логічного розділення, щоб все було менш заплутаним - це не кінець світу.)

  • F - Файли даних для баз даних користувачів
  • L - Привід файлового журналу для баз даних користувачів
  • T - ТемпДБ
  • X - Диск резервного копіювання (хоча у багатьох випадках я обираю передати резервну копію на мережевий диск, не оплачуючи копію після резервної копії, і я негайно створюю резервну копію для зберігання в іншому місці).

У мене часто є більше накопичувачів даних та журналів, а іноді й інший привід TempDB. Додайте в декількох екземплярах, і ви можете швидко закінчити літери диска. Ви, звичайно, можете піти від розміщення файлів рівня екземпляра на C :. І я роблю багато перевірок здоров’я для клієнтів, які були налаштовані так - і я ніколи не кажу "о, ух, ми повинні це виправити" - тепер, якщо їхні файли TempDB теж є, я зазвичай буду змусити їх це змінити. Іноді переміщуйте їхні майстер-бази та бази даних MSDB.

Але світ не закінчиться, якщо ви не розділите ці речі. Я думаю, що користь насправді полягає лише у тому, щоб зберігати окремі файли -your-. Як DBA у вас повинна бути здорова параноїя щодо інших ролей у вашій компанії, інших додатків, інших установок тощо, і чим більше ви можете ізолювати себе від потенціалу конфліктів, тим краще вам станеться. І це дає ще кілька варіантів перевстановлення та відновлення. Так так, відокремте свої бінарні файли від C .. Але моя порада не буде зводити з розуму на окремому диску для кожного примірника ..


3

Ну, у Windows є лише 26 можливих літер накопичувача. 1
Але у вас є можливість використовувати точки кріплення. 2

Отже, якщо вам потрібно встановити 25 різних серверів (SQL, Web, ...) на одній машині, може мати сенс мати один лист диска для одного з серверів.
Але якщо у вас є лише один сервер, було б більше сенсу мати різні букви диска для файлів журналу, бази даних та програмних файлів.
Ви також можете розділити файли журналу / бази даних / програми, якщо вони знаходяться в різних папках.

  1. зупинити SQL-сервер
  2. додати розділ
  3. скопіюйте всі файли бази даних на розділ
  4. змінити точку монтажу до папки, де були файли бази даних (наприклад: d: \ база даних)
  5. закінчив

Це зовсім не відповідає на питання. Я не питав про букви диска або точки монтажу, я запитував, чому може бути сенс ставити корінь екземпляра на окремий диск. Оскільки це системні файли, для мене є сенс залишити їх на системному диску.
adhocgeek

1
Вибачте, що я вас зрозумів неправильно. Хорошим моментом зібрати все, що належить до SQL, на одному диску, може бути простота резервного скрипту, який потрібно запускати лише на цьому диску. Але якщо ви помістите все лише на один диск, база даних, бінарні файли та журнали повинні бути у відокремлених папках. І я прийшов до справи з точками кріплення, що ви можете реорганізувати Дані на різних розділах, не змінюючи всю систему.

@gnomix Ви завжди можете редагувати свої відповіді (та питання), натиснувши посилання "редагувати" під ними.
dezso

@gnomix Простота потенційних скриптів резервного копіювання є однією з головних причин, що я схильний ставити дані та журнали на власні диски, але мені ніколи не було необхідності створювати резервні копії системних файлів. Я хотів би дізнатися, чи це загальна вимога. Мій інстинкт підказує, що розміщення системних файлів на несистемному диску може спричинити проблеми.
adhocgeek

1
Крім того, розділення накопичувача на два чи більше розділи насправді не допоможе диск вводу / виводу. Але так, я повністю з вами згоден. Це робить речі набагато приємнішими, щоб помістити файли бази даних у корінь накопичувача, і це полегшує виявлення речей. Зазвичай я кладу все в каталоги типу D: \ Data E: \ Logs F: \ Backup, ...
user1207758
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.