USE [master]; GO -- ========================================== -- 1. ТРАНСПОРТНЫЙ БЛОК: Монопольный режим -- ========================================== -- Разрываем все активные сессии 1С и SQL ALTER DATABASE [yubl_globus] SET SINGLE_USER WITH ROLLBACK IMMEDIATE; GO USE [yubl_globus]; GO -- ========================================== -- 2. ПРОВЕРКА И ИСПРАВЛЕНИЕ СТРУКТУРЫ SQL -- ========================================== -- Корректировка счетчиков страниц и строк в системных каталогах DBCC UPDATEUSAGE (0) WITH NO_INFOMSGS; GO -- Исправление возможного повреждения логических индексов/целостности (без потери данных) DBCC CHECKDB ('yubl_globus', REPAIR_REBUILD) WITH NO_INFOMSGS; GO -- ========================================== -- 3. ОБСЛУЖИВАНИЕ ИНДЕКСОВ И СТАТИСТИКИ -- ========================================== -- Полная пересборка всех индексов (устраняет фрагментацию и битые страницы) EXEC sp_msforeachtable 'ALTER INDEX ALL ON ? REBUILD WITH (FILLFACTOR = 90)'; GO -- Полный пересчет статистики (крайне важно для быстрых запросов 1С) EXEC sp_msforeachtable 'UPDATE STATISTICS ? WITH FULLSCAN'; GO -- ========================================== -- 4. ОЧИСТКА ВРЕМЕННОГО МУСОРА 1С -- ========================================== -- Сброс процедурного кэша SQL (удаляет зависшие и "кривые" планы запросов) DBCC FREEPROCCACHE; GO -- Очистка служебных таблиц дампов и фоновых заданий 1С (если они существуют) IF OBJECT_ID('dbo._ConfigDumpInfo', 'U') IS NOT NULL TRUNCATE TABLE dbo._ConfigDumpInfo; GO IF OBJECT_ID('dbo._SystemHistory', 'U') IS NOT NULL TRUNCATE TABLE dbo._SystemHistory; GO -- ========================================== -- 5. ВОЗВРАТ В РАБОЧИЙ РЕЖИМ -- ========================================== USE [master]; GO ALTER DATABASE [yubl_globus] SET MULTI_USER; GO