Назад | Перейти на главную страницу

SQL TempDB на RAMDisk или PCI-E?

я попросил этот вопрос на dba.stackexchange

Поскольку у нас 800 ГБ памяти, а для баз данных всего ~ 250 ГБ, мы планируем разместить файлы tempdb SQL-сервера на RAMDisk, выделив 100 ГБ для файлов данных и журналов вместо текущих SSD (SAN Tier 1), поскольку наш поставщик приложение очень интенсивно использует tempdb.

Это лучше, чем карты PCI-E? Мы заботимся только о скорости, а не о постоянстве, поскольку tempdb удаляется и воссоздается при каждой перезагрузке SQL.

И мы предпочитаем поставщиков, сертифицированных WQHL. Есть ли что-то, что следует выбирать или избегать?

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

Если вы создаете файлы TempDB на RAM-диске, они будут уничтожены при перезапуске, что приведет к сбою SQL Server, поскольку для этого требуется, чтобы эта БД существовала в чистом состоянии.

Думаю, теоретически можно было бы построить логику

  1. который требует "чистого" набора базовых файлов TempDB .mdb, копируемых при выключении SQL Server.
  2. и восстанавливает их на RAM-диск перед SQL Server запускается

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

Я использую и рекомендую «Контрольный список установки SQL Server» из Брент Озар первый ответчик комплект при сборке SQL Server. В нем рассматриваются передовые практики для сборок SQL Server.