Имя: Пароль:
1C
Админ
Как обслуживать SQL2000 (1c 7.7)?
,
0 an8888
 
18.09.12
17:31
Как обслуживать SQL2000 средствами SQL (база 1c 7.7),
чтобы ускорить работу базы, недопустить излишнего разрастания размера базы?
Почитал в инете - нашел такие скрипты:
1) backup log base1c with truncate_only
2) dbcc checkdb
3) Exec _1sp_DBReindex
4) dbcc shrinkdatabase (base1c, 10)

Правильные ли скрипты?
Будет ли после этих скриптов лучше работать база?
Какими еще скриптами можно оптимизировать работу базы?

Размер базы за год достигает 10Гб.
1 Lionee
 
18.09.12
17:50
(0) просто резАть
2 Lionee
 
18.09.12
17:51
(0) скрипты да , есть еще куча
3 SnarkHunter
 
18.09.12
17:56
Как определяете, что база "излишне разрослась"?
10 Гб - это ни о чем...
4 an8888
 
18.09.12
18:04
(3) до данных скриптов база была 7Гб
после скриптов база стала 4Гб

размер базы - размер файла mdf (ldf 5Мб)

"излишне разрослась" - то есть если выгрузить базу средствами 1с и загрузить,
то база будет гораздо меньше по размерам и быстрее работать
5 prog01
 
18.09.12
18:05
(4)ну вот и вариант обслуживания
6 Lionee
 
18.09.12
18:06
(4) 10Гб- это так семечки
7 Lionee
 
18.09.12
18:08
(4) еще запиши
DECLARE @MyTable varchar (32)
DECLARE @MyIndex varchar (32)
DECLARE MyCursor CURSOR FOR
SELECT o.name,i.name
FROM sysobjects o INNER JOIN sysindexes i ON o.id=i.id
WHERE (o.xtype='U') AND (INDEXPROPERTY(i.id,i.name,'isStatistics')=0)
AND (i.dpages>0)
ORDER BY o.name, i.indid
OPEN MyCursor
FETCH NEXT FROM MyCursor INTO @MyTable, @MyIndex
WHILE @@FETCH_STATUS=0
BEGIN
PRINT 'ДЕФРАГМЕНТАЦИЯ ИНДЕКСА'+@MyIndex+'из таблицы'+@MyTable
DBCC INDEXDEFRAG (0,@MyTable,@MyIndex)
FETCH NEXT FROM MyCursor INTO @MyTable, @MyIndex
END
CLOSE MyCursor
DEALLOCATE MyCursor
8 an8888
 
18.09.12
18:10
(5) проблема в том что ее уже нельзя выгрузить средствами 1с - ограничение размера файла 2Гб
и хочется средствами SQL оптимизировать

(6) 10Гб семечки
есть одна база за три года 20Гб - в нее заходишь и сервер виснет ужасно (все другие базы стоят)
9 Mikeware
 
18.09.12
18:13
(7) ну уж привел бы тогда скрипт выборочного индексирования...
(8) нужно не резать базу, а оптимизировать ее работу. И 20 Г тоже не так уж и много
10 SnarkHunter
 
18.09.12
18:13
(8)
>> сть одна база за три года 20Гб - в нее заходишь и сервер виснет ужасно (все другие базы стоят)

Либо сервером назвали что-то другое, либо руки кривые у создателя базы...
11 Mikeware
 
18.09.12
18:14
(10) одно другому не мешает. Более того, как правило это все гармонично сочетается...
не зря же закон соотношения радиусов существует...
12 prog01
 
18.09.12
18:23
(7)ты забыл добавить что запустить нужно в рабочее время на рабочей базе
13 prog01
 
18.09.12
18:27
(12)это шутка, но видел перцев которые на базе 75 гигов именно так и сделали )))
потом друг на друга пальцами показывали и дискутировали на тему необходимости реиндекса несколько дней с копиями учредителю по мылу
14 Mikeware
 
18.09.12
18:30
(13) у меня такое крутится. правда, в часы наименьших нагрузок (когда остается 5-6 юзверей), и не целиком все индексирует, а выборочно. Ну и база чуть поболе 75.
15 Злой Бобр
 
18.09.12
20:33
(0) Дык в чем вопрос? У вас нехватает знаний и опыта? Наймите нужного человека и занимайтесь своим делом.
И причем тут размер базы?.. Я б сказал, но автор обидится.
16 МихаилМ
 
18.09.12
21:38
микроскопический размер бд.

если именно скл2000
то реконнектнейтв периодический


в отличии от скл2005 и болеее молодых

не  требует постоянных реиндексаций и обновлений статистики

достаточно после открытия периода обновить статистику.
17 МихаилМ
 
18.09.12
21:42
+(16)
"недопустить излишнего разрастания размера базы" - бредовые страхи
Программист всегда исправляет последнюю ошибку.