Изменение имени базы данных SQL - PullRequest
8 голосов
/ 02 ноября 2010

Какова правильная процедура для переименования базы данных?

Пример: у меня есть база данных, к которой я могу получить доступ через SQL Server Management Studio, и имеет имя, подобное «MyDatabase».Физические файлы этой базы данных:

  • MyDatabase.mdf
  • MyDatabase_log.ldf

Как я могу переименовать эти логические и физические имена в "MyNewDatabase"?

спасибо за помощь

Ответы [ 4 ]

10 голосов
/ 02 ноября 2010

Взято дословно от здесь :

Есть несколько способов сделать это изменение, однако чтобы переименовать физические файлы базы данных на уровне операционной системы, вам придется перевести базу данных в автономный режим

  1. Используйте SSMS, чтобы перевести базу данных в автономный режим (щелкните правой кнопкой мыши База данных, выберите Задачи, Перевести в автономный режим), измените имя файлов на уровне ОС и затем переведите его в оперативный режим.

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

  3. Вы можете сделать резервную копию базы данных изатем восстановите, изменив расположение файла во время процесса восстановления.

  4. с использованием T SQL

    ALTER DATABASE databaseName SET OFFLINE GO

    ALTER DATABASE база данных(NAME = db, FILENAME = 'C: \ Program Files \ Microsoft SQL Server \ MSSQL.2 \ MSSQL \ Data \ db.mdf') GO - при изменении имени файла журнала

    База данных ALTER DATABASE базы данныхНомер MODIFY FILE(NAME = db_log, FILENAME = 'C: \ Program Files \ Microsoft SQL Server \ MSSQL.2 \ MSSQL \ Data \ db.ldf') GO

    ALTER DATABASE databaseName SET ONLINE GO

для получения дополнительной информации http://technet.microsoft.com/en-us/library/ms174269.aspx

7 голосов
/ 20 августа 2013

Будьте осторожны, когда используете опцию Переименовать из контекстного меню , которое появляется при щелчке правой кнопкой мыши по базе данных в Management Studio. Эта опция не меняет имена файлов базы данных. Чтобы изменить логические имена файлов для файлов DATA и LOG , вы также можете использовать интерфейс Management Studio, но, к сожалению, иногда он не работает .

Давайте сделаем это правильно ... это должно работать всегда.

  1. Отсоединение базы данных: Используя Management Studio, щелкните правой кнопкой мыши на базе данных> перейдите в «Задачи»> «Отсоединить», нажмите OK, чтобы отсоединить базу данных (обратите внимание: БД не может быть использована для ее отключения)
  2. Переименовать физические файлы: Как только база данных отсоединена, физические файлы разблокированы, и вы можете переименовать их с помощью проводника Windows: enter image description here
  3. Присоединение базы данных с новым именем: Для этого используйте T SQL:

    USE [master] СОЗДАТЬ БАЗУ ДАННЫХ [SqlAndMe] ВКЛ (FILENAME = N’C: \… \ NewName.mdf ’), (FILENAME = N’C: \… \ NewName_log.LDF ’) ДЛЯ ПРИЛОЖЕНИЯ

  4. Переименовать логические имена файлов: Выполнить этот T SQL:

    USE [NewName] ALTER DATABASE [NewName] ИЗМЕНИТЬ ФАЙЛ (NAME = N’OldName ’, NEWNAME = N’NewName’) ALTER DATABASE [NewName] MODIFY FILE (NAME = N’OldName_log ’, NEWNAME = N’NewName_log’) ВЫБЕРИТЕ имя, физическое_имя FROM [NewName] .sys.database_files

Должно работать!

1 голос
/ 19 июля 2013

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

sp_renamedb 'olddatabasename', 'newdatabasename'

но убедитесь, что база данных не используется.

0 голосов
/ 21 октября 2016
  • Вы можете переименовать базу данных с помощью SSMS;rclick database> rename
  • Вы можете изменить логическое имя с помощью SSMS;База данных> Свойства> Файлы> изменить логические имена
  • Отключить базу данных с помощью SSMS;База данных> Задачи> Отключить…
  • Вы можете изменить имена файлов с помощью проводника Windows (после отсоединения)
  • После изменения имен файлов вы не можете использовать графический интерфейс дляповторно присоединить

    СОЗДАТЬ БАЗУ ДАННЫХ MyAdventureWorks
    ВКЛ (FILENAME = 'C: \ MySQLServer \ AdventureWorks_Data.mdf'),
    (FILENAME = 'C: \ MySQLServer \ AdventureWorks_Log.ldf')
    ДЛЯ ПРИЛОЖЕНИЯ;

Обновите SSMS, и все готово.

Ссылки

Примечание. Если вы предпочитаете набирать как можно меньше кода.После того, как база данных отсоединена, используйте графический интерфейс, чтобы начать процесс повторного присоединения, прежде чем изменять имена файлов.Используйте «Действие сценария для ...» и получите код.После изменения имен файлов с помощью проводника Windows обновите их в коде в SSMS и запустите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...