Полезно ли иметь корневой каталог экземпляра 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

Я могу понять, почему необходимо иметь отдельную двоичную папку экземпляра, но я не понимаю, почему было бы полезно поместить все эти двоичные файлы на отдельный диск.

Может кто-нибудь сказать мне, почему это может быть разумно сделать? Или, может быть, это вообще не имеет значения? Мне это кажется ужасно неопрятным ...

adhocgeek
источник

Ответы:

23

Что касается разбиения корня экземпляра, есть пара аргументов в пользу этого.

  1. Некоторые люди выступают за сохранение своего диска «C», предназначенного только для ОС и двоичных файлов ОС. Это может дать вам несколько различных вариантов восстановления в случае сбоя на диске C, это может помочь не дать ОС вызвать или получить проблемы с пространством от совместного использования с другими приложениями.
  2. Вы изолируете двоичные файлы SQL Server от других программ и гарантируете доступность некоторых критических папок, таких как папка Logs, куда идут журналы ошибок - эта папка должна быть доступна для запуска SQL Server. Вы защищаете себя от других, в основном.

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

Вот что я обычно делаю, когда играю с неограниченным количеством букв дисков (как минимум .. Буквы здесь не важны):

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

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

  • F - Файлы данных для пользовательских баз данных
  • L - файл журнала диска для пользовательских баз данных
  • T - TempDB
  • X - Резервный диск (хотя во многих случаях я предпочитаю передавать резервную копию на сетевой диск, не оплачивая копию после резервного копирования, и я сразу же создаю резервную копию в хранилище в другом месте).

У меня часто будет больше дисков с данными и журналами, а иногда и другой диск TempDB. Добавьте в несколько экземпляров, и вы можете быстро исчерпать буквы диска. Вы, конечно, можете избежать размещения ваших файлов уровня экземпляра на C :. И я делаю много проверок работоспособности для клиентов, которые были настроены подобным образом, - и я никогда не говорю: «Ух ты! Мы должны это исправить сейчас». Теперь, если их файлы TempDB тоже есть, я обычно буду попросите их изменить это. Иногда перемещают свои базы данных master и MSDB.

Но мир не закончится, если вы не разделите эти вещи. Я думаю, что выгода в том, чтобы хранить ваши файлы отдельно. Как администратор базы данных, у вас должна быть здоровая паранойя в отношении других ролей в вашей компании, других приложений, других установок и т. Д. И чем больше вы сможете изолировать себя от потенциальных конфликтов, тем лучше вы будете. И это дает вам еще несколько вариантов для переустановки и восстановления. Так что да, отделите ваши двоичные файлы от C .. Но я бы не советовал сходить с ума на отдельном диске для каждого экземпляра ..

Майк Уолш
источник
3

Ну, в Windows всего 26 возможных букв дисков. 1
Но у вас есть возможность использовать точки монтирования. 2

Поэтому, если вам нужно установить 25 разных (SQL, Web, ...) серверов на одном компьютере, может иметь смысл иметь одну букву диска для одного из серверов.
Но если у вас есть только один сервер, более логично было бы использовать разные буквы дисков для файлов журналов, базы данных и программных файлов.
Вы также можете разделить файлы журнала / базы данных / программы, если они находятся в разных папках.

  1. остановить сервер SQL
  2. добавить раздел
  3. скопировать все файлы базы данных в раздел
  4. изменить точку монтирования на папку, в которой находились файлы базы данных (например, d: \ database)
  5. законченный
gnomix
источник
Это не отвечает на вопрос вообще. Я не спрашивал о буквах дисков или точках монтирования, я спрашивал, почему может иметь смысл помещать экземпляр root на отдельный диск. Поскольку это системные файлы, для меня имеет смысл оставить их на системном диске.
adhocgeek
1
Извини, что неправильно тебя понял. Хорошим моментом для размещения всего, что принадлежит SQL, на одном диске может быть простота резервного скрипта, который нужно запускать только на этом диске. Но если вы поместите все на один диск, база данных, двоичные файлы и журналы должны находиться в отдельных папках. И я пришел к точке с точками монтирования, что вы можете реорганизовать Данные в разных разделах без изменения всей системы.
@gnomix Вы всегда можете отредактировать свои ответы (и вопросы), нажав на ссылку «изменить» под ними.
Дезсо
@gnomix Простота потенциальных сценариев резервного копирования - одна из главных причин, по которым я стараюсь размещать данные и журналы на своих собственных дисках, но у меня никогда не было необходимости создавать резервные копии системных файлов. Я хотел бы знать, является ли это общим требованием. Мой инстинкт подсказывает мне, что размещение системных файлов на несистемном диске может вызвать проблемы.
adhocgeek
1
Кроме того, разделение диска на два или более разделов не очень поможет дисковому вводу-выводу. Но да, я полностью согласен с вами. Помещение файлов базы данных в корень диска выглядит намного приятнее, и его легче обнаружить. Я обычно помещаю все в каталоги, такие как D: \ Data E: \ Logs F: \ Backup, ...
user1207758