Як стискання бази даних tempdb у SQL Server

Переклади статей Переклади статей
Номер статті: 307487 - Показ продуктів, яких стосується ця стаття.
Примітка
Якщо ви є клієнтом малого бізнесу, ви можете знайти додаткові усунення несправностей і навчальних ресурсів в регіоні Підтримка для малого бізнесусайт.
Розгорнути все | Згорнути все

На цій сторінці

Підсумки

У цій статті розглядаються три методи, які можна використовувати для стискання бази даних tempdb до розміру, що менше, ніж його останній налаштувати розмір. Перший метод дає вам повний контроль над розміром файли бази даних tempdb . Однак, перший метод потребує перезапуску Microsoft SQL Server. Другий метод зменшується бази даних tempdb , та необхідно перезапустити SQL Server. Третій метод дозволяє зменшити окремі файли бази даних tempdb . Останні два способи вимагають, що немає активності може виникнути бази даних tempdb під Вільний час операції стискання.

Примітка Якщо використовується SQL Server 2005, також застосовувати ці методи. Однак, ви повинні використовувати SQL Server управління студії замість Enterprise Manager і Query Analyzer для виконання цих операцій. Також Майте на увазі, що SQL Server управління студії в SQL Server 2005 не показувати правильний розмір файли бази даних tempdb після операції стискання. Значення "Наразі розподілені простору" завжди простягається від sys.master_files DMV, і це значення не оновлюється після операції стискання виникнення для бази даних tempdb . Знайти правильний розмір файли бази даних tempdb після операції стискання, виконати наступну заяву в SQL Server управління студії:
use tempdb
select (size*8) as FileSizeKB from sys.database_files

Примітка SQL Server 2008 не впливає проблема, що відображається неправильний розмір файли бази даних tempdb після операції стискання.

Бази даних tempdb інформації

Бази даних tempdb є тимчасової робочої області. Серед інших цілей SQL Server використовує tempdb для таких дій:
  • онлайнове пул носіїв явно створений тимчасових таблиць
  • Робочі столи, які тримають проміжні результати, створений під Вільний час запит на змінення, обробки та сортування
  • Матеріалізувалася статичні курсори
SQL Server запис А лише достатньо інформації в журналі транзакцій бази даних tempdb відкотити транзакцію, але не для того, щоб повторити операції під Вільний час Відновити базу даних. Ця функція збільшує продуктивність ВСТАВЛЕННЯ заяви в tempdb. Крім того, вам не доведеться увійти інформації, щоб повторити будь-яких операцій, оскільки tempdb автоматично наново кожного разу, що після перезапуску SQL Server. Таким чином, вона має не угод вперед, або відкотити. Під Вільний час запуску SQL Server, використовуючи копію модель бази даних tempdb автоматично наново і бази даних tempdb скинути до останнього настроєний розміру.

За промовчанням бази даних tempdb налаштовані на автоматичне Збільшення належним чином. Таким чином, ця база даних можуть рости в Вільний час на розмір перевищує бажаного розміру. Просто перезавантаження сервера SQL скидає розмір бази даних tempdb свій останній налаштований розмір. Налаштувати розмір є останній явні розмір, який був встановлений за допомогою розмір файлу, змінюючи такі операції, як змінити базу даних, яка використовує параметр змінити файл або DBCC SHRINKFILE заявою.

Наступні три методи можна використовувати для стискання бази даних tempdb до розміру, що менше, ніж його налаштувати розмір.

Спосіб 1: сценарій виконання оператори Transact-SQL команд

Метод 2: сценарій виконання команди DBCC SHRINKDATABASE

Спосіб 3: сценарій виконання команди DBCC SHRINKFILE

Ефекти виконання DBCC SHRINKDATABASE або DBCCSHRINKFILE, а бази даних tempdb у використанні

Якщо використовується tempdb , спробі зменшити її за допомогою DBCC SHRINKDATABASE або DBCC SHRINKFILE команд, може з'явитися кілька узгодженості помилки, які схожі на наступні та операції стискання може не:
  • Сервер: Msg 2501, рівні 16, держава 1, рядок 1 Не вдалося знайти таблицю, названий '1525580473'. Перевірити sysobjects.
  • Сервер: Msg 8909, рівень 16, держава 1, лінії 0 Пошкоджений таблиці: Код об'єкта 1, індекс ID 0, сторінки ID % S_PGID. PageId в заголовку сторінки = % S_PGID.
Хоча помилка 2501 не може означати будь-який корупції в бази даних tempdb, ця помилка причини не вдалося виконати операцію стискання. З іншого боку, помилка 8909 може означати корупції бази даних tempdb . Перезапустити SQL Server для повторного створення бази даних tempdb та очищення помилки узгодженості. Однак, майте на увазі, що там можуть бути інші причини помилки корупції фізичний даних як помилка 8909 і ті, включають вводу виводу підсистема проблем.

ПОСИЛАННЯ

SQL Server книг онлайн; тем: "DBCC SHRINKFILE"; "DBCC SHRINKDATABASE"

Властивості

Номер статті: 307487 - Востаннє переглянуто: 20 липня 2012 р. - Редакція: 2.0
Застосовується до:
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 2000 64-bit Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL 2005 Server Enterprise
  • Microsoft SQL 2005 Server Workgroup
Ключові слова: 
kbsqlsetup kbhowtomaster kbmt KB307487 KbMtuk
Машинний переклад
УВАГА! Цю статтю переклала програма машинного перекладу Microsoft, а не людина. Корпорація Microsoft пропонує вам як машинні переклади, так і переклади фахівців, щоб Ви мали доступ до всіх статей бази знань рідною мовою. Проте стаття, яку переклав комп’ютер, не завжди бездоганна. Вона може містити лексичні, синтаксичні або граматичні помилки. Так само помиляється іноземець, спілкуючись вашою рідною мовою. Корпорація Microsoft не несе відповідальність за жодні неточності, помилки або шкоду, завдану неправильним перекладом змісту або його використанням з боку користувачів. Крім того, корпорація Microsoft часто оновлює програму машинного перекладу.
Клацніть тут, щоб переглянути цю статтю англійською мовою: 307487

Надіслати відгук

 

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