|
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- имя скуль базы
|
|