Как переместить TempDB в оперативную память в SQL Server 2005/2008? - PullRequest
1 голос
/ 31 марта 2011

В интернете я нашел инструкции по перемещению базы данных TempDB SQL Server в ОЗУ, но, к сожалению, эти инструкции, похоже, больше не работают на 2005 или 2008 годы, поскольку пунктов меню, которые Microsoft описывает в этой статье, не существует. Как это делается в версиях 2005 и 2008?

Вот нерабочие инструкции, которые я нашел:

Настроить временную базу данных tempdb в оперативной памяти Для этого выполните следующие шаги:

Щелкните правой кнопкой мыши имя сервера и выберите «Настроить» в контекстном меню. Кроме того, вы можете нажать Меню сервера, выберите пункт SQL Server и затем нажмите Настроить. Нажмите на Вкладка конфигурации. Прокрутите вниз до вы видите «tempdb в оперативной памяти (МБ)» Вариант конфигурации. В течении В столбце введите количество мегабайт ОЗУ выделить для базы данных tempdb (для пример, 2). Это будет только временный характер. Затем нажмите ОК.

Ответы [ 4 ]

0 голосов
/ 03 января 2013

www.amd.com / ramdisk имеет большой виртуальный диск ... В настоящее время я могу поддерживать скорость чтения почти 10 гигабайт в секунду ... что, очевидно, отлично подходит для узких мест SQL Server.

Мне даже удалось переместить кубы SSAS на Ramdisk, и большинство моих запросов сократилось с 60 до менее 1 мс.

Я использую это для РЕАЛЬНЫХ БАЗ ДАННЫХ, а не только для tempdb !!!

0 голосов
/ 31 марта 2011

В обратном направлении, когда 1М было ОЧЕНЬ МНОГО памяти (DOS мог легко получить доступ только к первым 640К), я вспоминаю, что было программное обеспечение, которое могло бы создать виртуальный диск в этой большой памяти - то, которое вы бы отобразили как физическоепривод.А потом появились жесткие диски, и рынок виртуальных дисков иссяк.Предположительно, должны существовать современные инструменты и утилиты, которые обеспечивают ту же функциональность.Если это так, вы можете настроить сервер с виртуальным диском, а затем настроить SQL для создания файлов tempdb на этом диске.Конечно, с этим может пойти не так, как с обычными дисками, поэтому я долго и усердно думаю, прежде чем попробовать.

0 голосов
/ 31 марта 2011

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

После установки виртуального диска вы можете переместить свою временную базу данных на новый диск

USE master;
GO
ALTER DATABASE tempdb 
MODIFY FILE (NAME = tempdev, FILENAME = 'x:\tempdb.mdf');
GO
ALTER DATABASE  tempdb 
MODIFY FILE (NAME = templog, FILENAME = 'X:\templog.ldf');

Где X: будет буква диска для RamDisk

0 голосов
/ 31 марта 2011

Какую проблему вы пытаетесь решить.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...