Имя: Пароль:
1C
1C 7.7
v7: Вылетает пересчет ссылок на sql базе - не восстановить базу
0 jq
 
01.07.13
11:56
Восстановили sql базу из архива, при заходе в Предприятие выдает "Нарушена структура индексов таблицы 1SCRDOC. Для восстановления запустите программу в монопольном режиме!" Заходим монопольно, другая ошибка "Процедура пересчета не была завершена, необходимо зайти в конфигуратор!". В конфигураторе идет верификация процедура, начинается пересчет ссылок документов, затем вылетает с ошибкой транзакции. Тестирование не запустить. Что делать? Помогите!!!
1 МихаилМ
 
01.07.13
11:59
переименуйте каталог NEW_STRU
преиндексируйте самостоятельно.
2 ЧеловекДуши
 
01.07.13
12:07
(0) Изучай SQL и гугли, как нужно индексировать скульные БД :)
3 ЧеловекДуши
 
01.07.13
12:08
+ Вроде на мисте уже обсуждали вопрос об проверки БД средствами SQL
4 Lionee
 
01.07.13
12:10
(0)о_Оипать  
:

USE DATABASE
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
5 Lionee
 
01.07.13
12:11
или

EXEC _1sp_DBReindex
6 пипец
 
01.07.13
12:23
(4) не путай дефрагментацию и индексацию

USE base_1c
DECLARE @TableName char(32)
DECLARE SysCur CURSOR FOR SELECT name FROM sysobjects WHERE type="U"
OPEN SysCur
FETCH NEXT FROM SysCur INTO @TableName
WHILE @@FETCH_STATUS=0 BEGIN
DBCC DBREINDEX(@TableName)
FETCH NEXT FROM SysCur INTO @TableName
END
CLOSE SysCur
DEALLOCATE SysCur
7 пипец
 
01.07.13
12:24
sysobjects WHERE type="U"
вместо кавычек поставить апострофы
base_1c- имя скуль базы