Переименование базы данных Microsoft SQL Server

Довольно редко, но возникают ситуации, когда требуется сменить имя у базы данных.

SQL Server позволяет это сделать (даже на работающей базе), но необходимо следовать технологии переименования.

Сразу отметим, что в этой статье мы не будем рассматривать работу с графическим интерфейсом. Переименование требует монопольного доступа к базе данных и в таком режиме она окажется недоступной для непосредственного управления при помощи средств, имеющих графический интерфейс. Поэтому весь процесс переименования будем проводить исключительно вручную на Transact-SQL.

Последовательность действий такова:

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

В поздних версиях SQL Server (например, 2016) первый и последний этапы выполняются автоматически непосредственно в ходе переименования базы данных и весь процесс сводится только к собственно переименованию самой базы данных и её файлов.

Более того в этих версиях попытка перевода базы данных в монопольный режим перед переименованием распознаётся как синтаксическая ошибка.

Ниже приведены оба варианта кода на Transact-SQL.

Переименование базы данных в старых версиях:

Переименование базы данных в новых версиях:

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *