Настраиваем базу на максимальную производительность

Posted by

После восстановления из бекапа базу данных необходимо оптимизировать на максимальную производительность. Что я имею ввиду:

  • Развернута система Windows Ent SP1
  • Затем установлен сервис базы данных Windows SQL Server 2008 R2 SP1
  • Развернута из бекапа база данных
  • В кластер подключена развернутая база данных

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

В рамках этой заметки все шаги выше проделаны на одной системе (т. е. Система + MSSQL + restore backup + 1С кластер + database).

Запускаю оснастку SQL Management StudioАвторизуюсьОткрываю свойства Базы

Files:

для базы Avto2, столбца AutoGrowth

  • Enable Autogrowth: Отмечаю галочкой
  • File Growth (In Megabytes): ставлю значение 300
  • Maximum File Size (Unrestricted File Growth)

для лога Базы Avto2, столбца AutoGrowth

  • Enable Autogrowth: Отмечаю галочкой
  • File Growth (In Megabytes): ставлю значение 100
  • Maximum File Size (Restricted File Growth (MB)): ставлю значение 4096

Options: — указываю что модель восстановления «Простая» (Simple), а другие параметры, параметра: Broker Enabled = ставлю значение True.

Затем для всего сервера MSSQL с учетом выделенной оперативной памяти, у меня 32 Gb — ставлю использовать только 26 Gb.

Start — All Programs — Microsoft SQL Server 2008 R2 — SQL Server Management Studio — подключаюсь к серверу базы данных — и на подключении (local)(SQL Server 10.50.1600 — NEMDOMB\aollo) через правый клик мышью открываю Properties (Свойства) и привожу настройки к виду:

Memory:

  • Minimum server memory (in MB): 0
  • Maximum server memory (in MB): 26624
  • Index creation memory (in KB, 0 = dynamic memory): 0
  • Minimum memory per query (in KB): 1024

Processors:

  • Automatically set processor affinity mask for all processors: ставлю галочку
  • Automatically set I/O affinity mask for all processors: ставлю галочку
  • Maximum worker threads: 2048
  • Boost SQL Server priority: ставлю галочку

Еще я выношу расположение файлов баз данных и файлов логов на отдельный логический диск (должен быть быстрым). И содержимое tempdb также следует вынести на отдельный диск по заметке:

На этом я прощаюсь, как будет что-то еще по настройке максимальной производительности, то обязательно дополню текущую заметку. До встречи, с уважением автор блога — ekzorchik.