Проблема: "Temp_db" устройство вызывает неполадки при запуске SQL Server

Переводы статьи Переводы статьи
Код статьи: 158586 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

Проблема

При запуске SQL Server, базы данных tempdb размещается в оперативной памяти (либо явным образом, установив параметр "в базе данных tempdb в оперативной памяти" при загрузке в режиме минимальной конфигурации, используя в командной строке параметр -f) SQL Server не запускается правильно, если устройство с именем устройства "temp_db" уже существует.

Причина

Если база данных tempdb находится в оперативной памяти, SQL Server сначала пытается создать устройство памяти с помощью логического имени "temp_db", а затем создать базу данных tempdb на этом устройстве. Если устройство с именем "temp_db" уже существует, произойдет попытка вставить запись в таблицу sysdevices; таким образом базы данных tempdb не могут быть созданы.

Errorlog SQL Server будет содержать следующую последовательность сообщений об ошибке:
Попытка вставить повторяющуюся ключевую строку в объект 'sysdevices' с уникальным индексом 'sysdevices"(2601 сообщений)

crdb_tempdb: не удается переместить базу данных tempdb в оперативной памяти; ПАМЯТЬ устройства не существует, не может быть создан или не имеет достаточно места для базы данных tempdb.

Сервер будет продолжать процесс загрузки и будет скорее всего отчета, так и другие сообщения об ошибке.



При попытке использовать базу данных tempdb при загрузке системы (например, в запуске хранимой процедуры), могут регистрироваться следующие сообщения об ошибках и произойдет сбой запуска сервера:
Msg 906: Не удалось найти строки в sysobjects для системного каталога "sysobjects" в базе данных "tempdb"...

Msg 615: Не удалось найти идентификатор таблицы базы данных = 2, имя = "tempdb"...

При попытке получить доступ к базе данных tempdb после запуска сервера, будут записываться сообщения выше, но не останавливает сервер.

Временное решение

Чтобы запустить сервер, откройте командную строку и перейдите в каталог BINN, где установлен SQL Server (например, SQL60\BINN для SQL Server 6.0 или MSSQL\BINN для SQL Server 6.5). Затем используйте следующую командную строку, который задается с учетом регистра, для запуска SQL Server:
sqlservr - c -m - T3609 - T4022



Обратите внимание на то, что использование -m Запуск SQL Server в однопользовательском режиме. После первого успешного входа в систему все последующие запросы будет выдано сообщение «Ошибка входа в систему» до первого подключения выполнен выход. Убедитесь, что необходимо остановить все автоматизированные процессы, может попытка входа SQL Server (например, руководителя SQL системного монитора, и т.д.).

После запуска SQL Server для подключения к SQL Server используйте ISQL/w. Обратите внимание на то, что не удастся использовать SQL Enterprise Manager, она недоступна с этими параметрами автозагрузки (поскольку он использует базу данных tempdb). После подключения, используйте следующую команду для удаления существующего устройства, с именем "temp_db" таким образом, чтобы SQL Server можно создать это устройство при запуске.
sp_dropdevice "temp_db"

При развертывании других баз данных помимо базы данных tempdb на устройство команда сообщит имена этих баз данных. Эти базы данных должны быть удалены, с помощью команды DROP DATABASE, таким образом, чтобы temp_db устройства могут быть удалены.



Если SQL Server по-прежнему не удается успешно запустить после того, как описано выше, и базы данных tempdb помещены явным образом в оперативной памяти, используйте следующую команду для размещения базы данных tempdb на диске.
хранимой процедуры sp_configure "tempdb ПАМЯТЬ", 0
изменить конфигурацию с помощью переопределения

Это следует поместить базу данных tempdb на устройство по умолчанию размер базы данных по умолчанию (обычно 2 МБ на образце). Остановите и повторно запустите сервер SQL Server.. В этом случае необходимо удалить устройство с именем temp_db и создать устройство под другим именем и затем разверните узел базы данных tempdb в новое устройство.

Свойства

Код статьи: 158586 - Последний отзыв: 14 ноября 2010 г. - Revision: 2.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft SQL Server 6.0 Standard Edition
  • Microsoft SQL Server 6.5 Standard Edition
Ключевые слова: 
kbmt KB158586 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:158586
Заявление об отказе относительно содержимого статьи о продуктах, поддержка которых прекращена
Эта статья содержит сведения о продуктах, поддержка которых корпорацией Майкрософт прекращена. Поэтому она предлагается как есть и обновляться не будет.

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com