Советы по эффективному обслуживанию баз данных SQL Server

ОГЛАВЛЕНИЕ

По нескольку раз в неделю у меня проcят совета, как эффективно обслуживать рабочую базу данных. Порой вопросы исходят от администраторов баз данных, которые применяют новые решения и ищут помощи в подгонке практики обслуживания под характеристики новых баз данных. Чаще вопросы исходят от людей, которые не являются профессиональными администраторами баз данных, но, по той или иной причине, владеют базой данных или несут за нее ответственность. Я предпочитаю называть их «невольными администраторами баз данных». Задача этой стать состоит в предоставлении учебника по наилучшим вариантам обслуживания баз данных SQL Server.

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

  • Управление файлами данных и журналов
  • Фрагментация индекса
  • Статистика
  • Обнаружение повреждений
  • Резервные копии

У необслуживаемой (или плохо обслуживаемой) базы данных могут возникнуть проблемы в одной или нескольких из этих областей, что со временем может привести к плохой работе приложений или даже простоям и потере данных.

В этой статье я объясню, почему эти проблемы важны, и покажу некоторые простые пути их смягчения. Мои объяснения будут основаны на SQL Server® 2005, но я также выделю основные отличия, с которыми можно столкнуться в SQL Server 2000 и предстоящем SQL Server 2008.