Лучший способ переместить файл журнала в SQL Server 2005

Позвольте разработчикам диагностировать производственные проблемы время от времени. Это сделает чудеса для Вашего входа.:)

1
задан 22 July 2009 в 16:28
4 ответа

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

  1. Добавьте новый файл журнала в новом месте с чем-то как:

    Нечто ALTER DATABASE ФАЙЛ ЖУРНАЛА ADD (NAME=NewLog, ИМЯ ФАЙЛА ='YourNewPhysicalPath', SIZE=100MB, другие опции...);

  2. Освободите старый файл журнала с:

    ИСПОЛЬЗУЙТЕ нечто; DBCC SHRINKFILE (OldLog, EMPTYFILE);

  3. Возьмите резервное копирование журнала с нечто ЖУРНАЛА РЕЗЕРВНОГО КОПИРОВАНИЯ...

  4. Удалите старый файл журнала с:

    Нечто ALTER DATABASE УДАЛЯЮТ ФАЙЛ OldLog;

Если последний говорит, что Вы не можете удалить, потому что файл не пуст, попытайтесь выполниться 2 и 3 снова и затем 4.

Править: Ну, оказывается, что у меня нет remebered это правильно... IT НЕ ПРОЛОЖИТ СЕБЕ ПУТЬ и поскольку gbn указал, что Вы не можете "освободить" файл журнала через SHRINKFILE (но это не была моя цель так или иначе - я просто хотел отметить файл как "не для использования", таким образом, он не снова используется и может быть отброшен позже). Я думаю, что подобная техника все еще возможна для любых дополнительных файлов журнала, которые Вы имеете кроме первого, но я отправлю об этом, когда я получу шанс исследовать это.

0
ответ дан 3 December 2019 в 16:42
  • 1
    Вы can' t " empty" файлы журнала как Вы могут файлы данных... –  gbn 22 July 2009 в 21:22
  • 2
    .. и MS говорит для использования присоединения/отсоединения support.microsoft.com/kb/224071 –  gbn 22 July 2009 в 21:30
  • 3
    Почему это разбудило голоса? Кто-либо попробовал это файлом журнала? Это won' t работа! –  gbn 24 July 2009 в 06:52
  • 4
    Как статья KB указывает, в 2005 лучший способ к ALTER DATABASE, не отсоединяют/присоединяют. Вдоль тех строк sp_attach_db теперь удерживается от использования для 2005/2008. CREATE DATABASE теперь предпочтен, так как он теперь имеет опцию FOR ATTACH. –  K. Brian Kelley 24 July 2009 в 16:15
  • 5
    Wouldn' t эта работа, если Вы добавили второй файл к группе файлов t-журнала, установил исходный файл на " прекратите using" затем ожидание для транзакций в том файле, чтобы быть в возрасте? (Требуемое время зависело бы от действия и режима восстановления базы данных.) I' ve, никогда делавшийся это, но от какой I' ve читают, это должно быть возможно. –  Philip Kelley 24 July 2009 в 17:19

Извините, нет никакого "безопасного" метода онлайн.

Необходимо вывести базу данных из эксплуатации или отсоединить ее.

Вы не можете "опустеть", файл журнала как Вы может файл данных.

MS КБ 224071

2
ответ дан 3 December 2019 в 16:42

Лучший способ, который потребует некоторого времени простоя, состоит в том, чтобы использовать ALTER DATABASE... НАБОР ОФЛАЙН. Существует несколько серьезных оснований для этого.

  1. Владелец базы данных не изменяется. Это может иметь последствия относительно неявных разрешений и пересечь цепочку принадлежности базы данных.
  2. Конфигурации как FILESTREAM (в 2008) или база данных определенная конфигурация (как перекрестная цепочка принадлежности базы данных) не потеряны.
  3. База данных не повторно прикреплена с помощью неправильного имени. Жир, перебирающий все еще, происходит.

Больше здесь:

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

4
ответ дан 3 December 2019 в 16:42

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

1
ответ дан 3 December 2019 в 16:42
  • 1
    Да I' ve, обманутый как этот прежде! I' m не уверенный то, когда я могу вывести из эксплуатации этот dbs и резервное копирование и восстановление, определенно в режиме офлайн. –  alimack 22 July 2009 в 16:46

Теги

Похожие вопросы