Страница 1 из 2
					
				Конвертация MSSQL-базы. Ошибка модификации таблицы
				Добавлено: 11 апр 2006, 09:56
				 sim
				Конвертация 711-712 обваливается с ошибкой изменения таблицы PLPOR.
Как решить проблему?
			 
			
					
				
				Добавлено: 11 апр 2006, 11:25
				 sim
				И еще вопрос: как полечить таблицу средствами MS SQL?
			 
			
					
				Re: Конвертация MSSQL-базы. Ошибка модификации таблицы
				Добавлено: 11 апр 2006, 11:59
				 WiRuc
				sim писал(а):Конвертация 711-712 обваливается с ошибкой изменения таблицы PLPOR.
Как решить проблему?
Какая конкретно ошибка?
Полечить таблицу можно с помощью DBCC CHECKTABLE.
Можно проверить всю БД с помощью DBCC CHECKDB.
За подробностями в BOL.
 
			
					
				
				Добавлено: 11 апр 2006, 12:05
				 thor
				варианты могут быть разные, вплоть до экзотических.
Нужно знать, что писалось при возникновении ошибки в логи, в т.ч. в ms70drv.log, в лог приложений системы.
На второй вопрос
DBCC CheckDB
DBCC CheckAlloc
DBCC CheckTable
команды могут применяться как для проверки, так и с различными ключами ребилда. Подробнее - в контекстном хелпе
			 
			
					
				
				Добавлено: 11 апр 2006, 12:25
				 sim
				ms70drv.log
05.04.2006 14:43:56:
DROP TABLE T$PLPOR#
05.04.2006 14:43:56:
  HY000: [Microsoft][ODBC SQL Server Driver][SQL Server]The SQL Server cannot obtain a LOCK resource at this time. Rerun your statement when there are fewer active users or ask the system administrator to check the SQL Server lock and memory configuration.
			 
			
					
				
				Добавлено: 11 апр 2006, 12:28
				 sim
				alter.log
Ошибка изменения таблицы PLPOR
Ошибка выполнения [311]
			 
			
					
				
				Добавлено: 11 апр 2006, 14:13
				 WiRuc
				1.Версия MSSQL? Какие стоят сервиспаки?
2. Конфигурация железа, особенно памяти.
З.Ы. Запускать процесс заново после перезагрузки компа пробовали?
			 
			
					
				
				Добавлено: 11 апр 2006, 14:58
				 sim
				WiRuc писал(а):1.Версия MSSQL? Какие стоят сервиспаки?
2. Конфигурация железа, особенно памяти.?
сервер, на котором проводится конвертация:
win2000server без сервис-паков
SQL Server 2000 Service Pack 4
pIV-2.4 , RAM 500 Mb
WiRuc писал(а):
З.Ы. Запускать процесс заново после перезагрузки компа пробовали?
нет, не пробовали, а  с какого места надо начать?
 
			
					
				
				Добавлено: 11 апр 2006, 14:59
				 sim
				а что за ошибка - 311?
			 
			
					
				
				Добавлено: 11 апр 2006, 15:13
				 vist
				WiRuc писал(а):З.Ы. Запускать процесс заново после перезагрузки компа пробовали?
Если ты имеешь в виду всю процедуру с самого начала с новой базой
- то много раз.
Месяца полтора назад коннвертация проходила без проблем на этой же конфигурации
 
			
					
				
				Добавлено: 11 апр 2006, 15:14
				 WiRuc
				sim писал(а):а что за ошибка - 311?
Тут важна не ошибка Галактики (это стандартная ошибка, когда происходит ошибка ODBC), а та, что возвращает ODBC драйвер. А драйвер вам говорит, что MSSQL не может получить LOCK. Самое примитивное решение проблемы - увеличить память на сервере, хотя бы до 1Гб. Добавьте памяти и запустите процесс конвертации заново.
 
			
					
				
				Добавлено: 11 апр 2006, 15:24
				 WiRuc
				Гляньте еще логи MSSQL и Windows нет ли там еще каких ошибок.
			 
			
					
				
				Добавлено: 11 апр 2006, 15:30
				 thor
				Согласен с WiRuc - самое простое решение - заапгрейдить сервер или найти машину с большим ресурсом.
По умолчанию SQL Server динамически выделяет память под блокировки. Можно это изменить и указать количество блокировок вручную
Почитайте описание параметра LOCKS процедуры sp_configure.
Правда, на каждую блокировку отводится 96 байт, и при прямом указании возможно получение сообщений о достижении предельного количества доступных блокировок, и в конечном итоге, все это ведет к тому же продложению об увеличении оперативки на сервере.
			 
			
					
				
				Добавлено: 11 апр 2006, 15:30
				 edward_K
				311 это - Внутренняя ошибка драйвера
могет возникнуть в разных случаях , например в запросе не находиться ни одной записи и так далее.
можно выгрузить в dbf, удалить все, пройти alter, а потом сразу залить обратно - до запуска фейсов конвертации галки.
запускать видимо придется с 0 - в этот момент словарь уже исправлен, а табла еще нет.
			 
			
					
				
				Добавлено: 11 апр 2006, 15:39
				 vist
				WiRuc писал(а):Гляньте еще логи MSSQL и Windows нет ли там еще каких ошибок.
В обоих логах похожие описания
Тип события:	Ошибка
Источник события:	MSSQL$PRO
Категория события:	(2)
Код события:	17052
Дата:		10.04.2006
Время:		12:04:19
Пользователь:		RF\kvv
Компьютер:	DELTA
Описание:
Error: 1204, Severity: 19, State: 1
The SQL Server cannot obtain a LOCK resource at this time. Rerun your statement when there are fewer active users or ask the system administrator to check the SQL Server lock and memory configuration. 
Данные: