Se você quiser mover o arquivo de log sem ter que colocar um banco de dados offline, existe uma maneira que usei antes. Eu só espero lembrar corretamente:
-
Adicione um novo arquivo de log no novo local com algo como:
ALTER DATABASE para ADD LOG FILE (NOME = NewLog, FILENAME = 'YourNewPhysicalPath', SIZE = 100MB, outras opções ...);
-
Esvazie o arquivo de log antigo com:
USE foo; DBCC SHRINKFILE (OldLog, EMPTYFILE);
-
Faça backup de log com o BACKUP LOG foo ...
-
Remova o arquivo de log antigo com:
ALTER DATABASE foo REMOVER ARQUIVO OldLog;
Se o último disser que você não pode remover porque o arquivo não está vazio, tente executar 2 e 3 novamente e depois 4.
EDITAR: Bem, acontece que eu não lembrei corretamente ... NÃO FUNCIONARÁ desta maneira e como gbn apontou você não pode "esvaziar" o arquivo de log via SHRINKFILE (mas não era meu objetivo de qualquer forma - eu só queria marcar o arquivo como "não para uso", por isso não é reutilizado e pode ser descartado posteriormente. Eu acho que uma técnica semelhante ainda é possível para qualquer arquivo de log adicional que você tenha além do primeiro, mas vou postar sobre isso quando tiver uma chance de pesquisar isso.