Назад | Перейти на главную страницу

Ошибка SQL 2008 после сжатия жесткого диска

Я рассеянно позволил Windows Server 2003 сжать жесткий диск, чтобы попытаться сэкономить место. На том же диске находится экземпляр SQL Server 2008. После сжатия все базы данных перешли в автономный режим.

Я вручную расширил файлы в каталоге SQL-сервера с помощью инструмента командной строки "compact". Однако они все еще не подключены к Sql Management Studio.

Что мне нужно сделать, чтобы вернуть их в онлайн?

Оказывается, исправить это невероятно просто.

Когда я изначально запускал compact / U, я не заметил, что он не работает при обращении к файлам, которые использовались. Поэтому я просто остановил экземпляр SQL-сервера. Повторно запустил «compact / U» в каталоге данных для SQL-сервера. Затем просто перезапустил службу SQL. Теперь все в порядке.

Скопируйте файлы .mdf и .ndf на несжатый диск и повторно прикрепите их с другим именем базы данных.

EXEC sp_attach_db @dbname = 'WHATEVERNAME', @ filename1 = 'E: \ PRODATA1 \ data1.mdf', @ filename2 = 'E: \ PRODATA2 \ data2.ndf', @ filename3 = 'E: \ PRODATA3 \ data3.ndf' , @ filename4 = 'E: \ PROLOG1 \ log.ldf'

SQL Server 2008 имеет собственную встроенную систему сжатия данных. Проверьте эту статью: http://blogs.msdn.com/b/sanchan/archive/2006/06/04/617585.aspx