Проблема встаёт может раз в год может реже, и каждый год открываю решения заного, надоело.
делаем так
сначала узнаём какие имена и где лежат БД
в Query Analyser выбираю нужную БД и пишу запрос
SELECT CAST(name AS VARCHAR(20)) AS 'Name',
CAST(filename AS VARCHAR(75)) AS 'Filename'
FROM sysfiles
CAST(filename AS VARCHAR(75)) AS 'Filename'
FROM sysfiles
он говорит
ExpressDiagnostic E:\DATABASES\ExpressDiagnosticTest.MDF
ExpressDiagnostic_lo E:\DATABASES\ExpressDiagnosticTest_Log.LDF
ExpressDiagnostic_lo E:\DATABASES\ExpressDiagnosticTest_Log.LDF
теперь я выполняю вот такой запрос
CHECKPOINT
BACKUP LOG "ExpressDiagnosticTest" WITH TRUNCATE_ONLY
CHECKPOINT
DBCC SHRINKFILE ('ExpressDiagnostic_log')
BACKUP LOG "ExpressDiagnosticTest" WITH TRUNCATE_ONLY
CHECKPOINT
DBCC SHRINKFILE ('ExpressDiagnostic_log')
ExpressDiagnosticTest – полное название базы
ExpressDiagnostic_log – системное Имя логфайла из результата первого запроса (!!!!не вот это ExpressDiagnosticTest_Log)
допустим у меня несколько баз
ExpressDiagnosticTest
ExpressDiagnosticTest2010
ExpressDiagnosticTest2011
ExpressDiagnosticTest2010
ExpressDiagnosticTest2011
И т.п. а системное имя логфайла всегда одно ExpressDiagnostic_log
И всё логфайлы не весят десятки содни гигабайт