Я недавно проверил экземпляр SQL Server 2012 года только, чтобы видеть, что жесткий диск полон и после исследования, что произошло, это был Полнотекстовый поиск информационные строки, заполняющие файлы журнала и дисковое пространство каждую минуту. Это составило в целом несколько ГБ информации о журнале как следующая строка:
2015-01-26 14:08:58.40 spid42s Informational: Resuming full-text population for table or indexed view '[db].[dbo].[table]' in database 'db' (table or indexed view ID '690817523', database ID '5'). Prior number of documents processed: 0, error encountered: 0.
Мой вопрос состоит в том, как препятствовать тому, чтобы SQL Server писал какие-либо "информационные" детали в, он - файлы журнала механизмом полнотекстового поиска или альтернативно (меньше предпочтительного метода), как отключить, он регистрируется полностью?
Если не удается перезапустить экземпляр, можно запланировать очистку журнала с помощью процедуры sp_fulltext_recycle_crawl_log. Дополнительная информация: http://www.ruben-j.com/microsoft/t-sql/sql-fulltext-crawl-log/ или https://social.msdn.microsoft.com / Forums / windowsapps / en-US / b9420843-666e-4f33-b987-2624cdfa7acd / sql-server-2008r2-fulltext-logfile-sqlftlog-maintenance? Forum = sqlkjmanageability или задайте вопрос на dba.stackexchange.
В конце концов, было решено добавить в планировщик задач простой однострочный сценарий PowerShell, который будет очищать журналы SQL Server старше 30 дней и выполняться каждый день:
Get-ChildItem "C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Log\*" -Recurse | Where-Object {$_.LastWriteTime -lt (Get-Date).AddDays(-30)} | Remove-Item
Измените MSSQL11.MSSQLSERVER, чтобы он соответствовал вашей версии SQL Server. и имя экземпляра.