Мы берем одну из наших производственных баз данных и создаем копию на другом сервере только для чтения. База данных только для чтения находится на SQL Server 2008. Как только база данных будет на новом сервере, мы хотели бы оптимизировать ее для использования только для чтения.
Одна проблема заключается в том, что для некоторых из таблиц, которые не используются, имеется большое количество выделенного пространства. Еще одна проблема, которую я ожидаю, - это фрагментация индексов. Я не уверен, является ли проблема фрагментации таблицы.
Какие проблемы связаны с этим и как лучше всего это сделать? Существуют ли хранимые процедуры, включенные в SQL Server, которые помогут? Я попытался запустить DBCC SHRINKDATABASE, но это не освободило неиспользуемое пространство.
РЕДАКТИРОВАТЬ: точная команда, которую я использовал для сжатия базы данных была
DBCC SHRINKDATABASE (dbname, 0)
GO
Бежал пару часов. Когда я проверил табличное пространство с помощью sp_spaceused, ни одно из неиспользованного пространства не было освобождено.