Я рассеянно позволил 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