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

Применяется к:SQL ServerAzure SQL DatabaseAzure, управляемому экземпляру SQL Azure

В этой статье описывается переименование пользовательской базы данных в SQL Server, Базе данных SQL Azure или Управляемом экземпляре SQL Azure с помощью SQL Server Management Studio (SSMS) или Transact-SQL (T-SQL). Имя базы данных может содержать все символы, соответствующие правилам для идентификаторов.

Заметка

Чтобы переименовать базу данных в Azure Synapse Analytics или Parallel Data Warehouse, используйте инструкцию RENAME (Transact-SQL).

ограничения

  • Системные базы данных нельзя переименовать.
  • Имя базы данных нельзя изменить, пока другие пользователи обращаются к базе данных.
    • Используйте Монитор активности SQL Server Management Studio, чтобы найти другие подключения к базе данных, и закройте их. Дополнительные сведения см. в разделе Открытие Монитора активности в SQL Server Management Studio (SSMS).
    • В SQL Server можно установить для базы данных однопользовательский режим, чтобы закрыть все открытые соединения. Дополнительные сведения см. в разделе Установка однопользовательского режима базы данных.
    • В базе данных SQL Azure необходимо убедиться, что отсутствуют открытые подключения других пользователей к базе данных, которую требуется переименовать.
  • Переименование базы данных не изменяет физическое имя файлов базы данных на диске или логические имена файлов. Дополнительные сведения см. в статье Файлы и группы файлов базы данных.
  • Невозможно переименовать базу данных SQL Azure, настроенную в активной связи георепликации .

Разрешения

Необходимо разрешение ALTER в базе данных.

Использование среды SQL Server Management Studio

Чтобы переименовать базу данных SQL Server или SQL Azure с помощью SQL Server Management Studio, выполните следующие действия.

  1. В среде SQL Server Management Studio выберите элемент Обозреватель объектов. Чтобы открыть обозреватель объектов, нажмите клавишу F8. Либо в главном меню щелкните Вид и выберите пункт Обозреватель объектов:

  2. В обозревателе объектов подключитесь к экземпляру SQL Server и разверните его.

  3. Убедитесь, что отсутствуют открытые подключения к базе данных. Если вы используете SQL Server, вы можете задать для базы данных однопользовательский режим , чтобы закрыть все открытые подключения и запретить другим пользователям подключаться во время изменения имени базы данных.

  4. В обозревателе объектов разверните узел Базы данных, щелкните правой кнопкой мыши базу данных, которую необходимо переименовать, а затем выберите Переименовать.

  5. Введите новое имя базы данных и нажмите кнопку ОК.

  6. Если эта база данных была базой данных по умолчанию, см. раздел Сброс базы данных по умолчанию после переименования.

  7. Обновите список баз данных в обозревателе объектов.

Использование Transact-SQL

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

Выполните следующие действия, чтобы переименовать базу данных SQL Server с помощью T-SQL в SQL Server Management Studio, включая действия по переводу базы данных в однопользовательский режим и возврат ее в многопользовательский режим после переименования.

  1. Подключитесь к базе данных master для своего экземпляра.
  2. Откройте окно запроса.
  3. Скопируйте приведенный ниже пример в окно запроса и нажмите кнопку Выполнить. В этом примере имя базы данных MyTestDatabase изменяется на MyTestDatabaseCopy.

Предупреждение

Чтобы быстро получить монопольный доступ, в примере кода используется параметр завершения WITH ROLLBACK IMMEDIATE. Произойдет откат всех незавершенных транзакций, а любые другие соединения с базой данных MyTestDatabase будут немедленно разорваны.

USE master;  
GO  
ALTER DATABASE MyTestDatabase SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
GO
ALTER DATABASE MyTestDatabase MODIFY NAME = MyTestDatabaseCopy;
GO  
ALTER DATABASE MyTestDatabaseCopy SET MULTI_USER;
GO
  1. Кроме того, если эта база данных была базой данных по умолчанию, см. раздел Сброс базы данных по умолчанию после переименования.

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

Выполните следующие действия, чтобы переименовать базу данных SQL Azure с помощью T-SQL в SQL Server Management Studio.

  1. Подключитесь к базе данных master для своего экземпляра.

  2. Откройте окно запроса.

  3. Убедитесь, что больше никто не использует эту базу данных.

  4. Скопируйте приведенный ниже пример в окно запроса и нажмите кнопку Выполнить. В этом примере имя базы данных MyTestDatabase изменяется на MyTestDatabaseCopy.

    ALTER DATABASE MyTestDatabase MODIFY NAME = MyTestDatabaseCopy;
    

Резервное копирование после переименования базы данных

После переименования базы данных в SQL Server выполните резервное копирование базы данных master. В Базе данных SQL Azure это не требуется при автоматическом резервном копировании.

Сброс базы данных по умолчанию после переименования

Если вы переименовываете базу данных, которая была задана в качестве базы данных по умолчанию для имени входа SQL Server, может возникнуть ошибка 4064, Cannot open user default database. Используйте следующую команду, чтобы установить переименованную базу данных в качестве базы данных по умолчанию:

USE [master]
GO
ALTER LOGIN [login] WITH DEFAULT_DATABASE=[new-database-name];
GO

Далее