Регламентное обслуживание базы данных "Рестарт"
Внимание! Данный форум является модерируемым.
Для получения к нему доступа необходимо зарегистрироваться или авторизоваться на сайте.
Доступ к форуму партнерам «1C-Рарус» по дистрибуции предоставляется на сайте
rarus-soft.ru
Читают тему
Т.к. Рестарт в качестве СУБД использует Microsoft SQL Server, то и обслуживание баз может производиться его же средствами.
Если вы используете полноценную версию SQL Server, то вы можете использовать мощный планов обслуживания. Например как показано в статье:
Если же у вас стоит бесплатная версия (SQL Express, по умолчанию входящий в дистрибутив), то придется запускать процедуру обслуживания вручную.
Физически это выражается в запуске 4-х скриптов. Что вам для этого понадобится:
1. Установить средство управления SQL сервером. Найдите в дистрибутиве программу SQLManagementStudioExpress и установите ее.
2. Скачать архив со скриптами:
Архив
3. Запускать скрипты в порядке очереди:ВНИМАНИЕ: текст третьего скрипта имеет вид: sp_msforeachtable N'DBCC INDEXDEFRAG (RestartMain, ''?'')', где RestartMain это название базы данных. Если у вас другое название, то укажите его в скрипте.
Время выполнения скриптов зависит только от размеров БД и может достигать нескольких десятков минут. Будьте терпеливы и не прерывайте процесс принудительно.
В обязательном порядке перед запуском скриптов сделайте бэкап базы данных.
exec sp_updatestats
DBCC FREEPROCCACHE
Второй reindex.sql реиндексация индексов с текстом:
sp_msforeachtable N'DBCC DBREINDEX (''?'')'
Третий назовем backupANDtrans.sql где делается бекап и дефрагментация индексов с текстом
ALT ER DATABASE [restartmain] SET RECOVERY SIMPLE
DBCC SHRINKFILE (N'restartmain_log' , 128, TRUNCATEONLY )
ALT ER DATABASE [restartmain] SET RECOVERY FULL
--
BACKUP DATABASE [restartmain]
TO DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\pos.bak'
WITH NOFORMAT, NOINIT, NAME = N'restartmain_full_backup',
SKIP, NOREWIND, NOUNLOAD, STATS = 10
где restartmain — это название БД, а TO DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\pos.bak это путь куда будут сохранятся бекапы (можете указать свой путь)
И наконец четвертый файл где у нас будут запускаться предыдущие три файла, назовем его optimpiz.bat с текстом внутри
sqlcmd -S term1\restart -U sa -P rarus -d restartmain -i "C:\backupANDtrans.sql"
sqlcmd -S term1\restart -U sa -P rarus -d restartmain -i "C:\statANDcashe.sql"
sqlcmd -S term1\restart -U sa -P rarus -d restartmain -i "C:\reindex.sql"
где term1 название компьютера где БД, restartmain название БД — (если у вас отличное от этого, меняйте на свое)
Потом в стандартном Виндовс планировщике создаем задание на выполнение файла optimiz.bat с указанием времени и дней когда оно у нас будет выполняться.
P.S Все файлы "кидаем" в одно место, допустим на диск С:\