Поделиться через


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

Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure

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

Примечание.

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

Ограничения

  • Системные базы данных нельзя переименовать.

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

    • Используйте монитор действий SSMS, чтобы найти другие подключения к базе данных и закрыть их. Дополнительные сведения см. в разделе Открытие Монитора активности в SQL Server Management Studio (SSMS).

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

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

  • Переименование базы данных не изменяет физическое имя файлов базы данных на диске или логические имена файлов. Дополнительные сведения см. в статье Файлы и группы файлов базы данных.

  • Невозможно переименовать базу данных SQL Azure, настроенную в активной связи георепликации .

Разрешения

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

Использование SQL Server Management Studio (SSMS)

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

  1. В SSMS выберите Обозреватель объектов. Чтобы открыть обозреватель объектов, нажмите клавишу F8. Или в верхнем меню выберите "Вид> обозреватель объектов:

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

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

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

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

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

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

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

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

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

  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
    
  4. Кроме того, если эта база данных была базой данных по умолчанию, см. раздел Сброс базы данных по умолчанию после переименования.

Переименование базы данных База данных 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, Can't open user default database. Используйте следующую команду, чтобы установить переименованную базу данных в качестве базы данных по умолчанию:

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