Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Upgrade базы MSSQL 2000 до 2008  [new]
maldalik
Member

Откуда:
Сообщений: 63
В общем возникла проблема, есть база на 2000 версии требуется регулярно поднимать ее копию на сервер с MSSQL 2008.
Для этого настроены задачи копирующие бэкап базы на этот сервер и джоб по восстановлению.
Но вот тут такая беда если я руками исполняю скрипт, то у меня база восстанавливается апгрейтится все ок.
Но если то же самое запускается из под агента джобом то апгрейд базы падет на шаге апгрейда с 645 версии на следующую.

[SQLSTATE 01000] (Message 951) Database 'bill_reports' running the upgrade step from version 644 to version 645.
[SQLSTATE 01000] (Message 951) Database 'bill_reports' running the upgrade... The step failed.

сам скрипт
RESTORE DATABASE [bill_reports] 
 FROM  DISK = N'E:\Billtmp\bill' 
WITH  FILE = 1,  NOUNLOAD ,  STATS = 10,  RECOVERY ,  REPLACE ,  
 MOVE N'Bill' TO N'E:\SQLBase\bill.mdf',  
 MOVE N'Bill_log' TO N'E:\SQLBase\bill_log.ldf'
,  MOVE N'Bill_logD' TO N'E:\SQLBase\bill_logD.LDF'
go
use [bill_reports]
--alter database Bill set read_write
exec sp_MSforeachtable @command1 = "print '?'", @command2 = "DBCC CHECKIDENT ('?', RESEED)"
exec sp_MSforeachtable @command1 = "print '?'", @command2 = 'alter index all on ? rebuild with (online = on)'
exec sp_updatestats
alter database Bill set compatibility_level = 100


Что не так с агентом? Исполняется агент из под системы/sa
8 окт 15, 10:58    [18251297]     Ответить | Цитировать Сообщить модератору
 Re: Upgrade базы MSSQL 2000 до 2008  [new]
maldalik
Member

Откуда:
Сообщений: 63
Разбил на два шага, первый шаг восстановление базы и апгрейд стал проходить

теперь валится на исполнении
exec sp_MSforeachtable @command1 = "print '?'", @command2 = "DBCC CHECKIDENT ('?', RESEED)"
на таблице без identity полей и весь джоб останавливается.
Можно как то сказать ему игнорировать ошибку?
Ведь когда из студии исполняю все идет дальше.
8 окт 15, 11:27    [18251552]     Ответить | Цитировать Сообщить модератору
 Re: Upgrade базы MSSQL 2000 до 2008  [new]
Glory
Member

Откуда:
Сообщений: 104760
maldalik
теперь валится на исполнении
exec sp_MSforeachtable @command1 = "print '?'", @command2 = "DBCC CHECKIDENT ('?', RESEED)"
на таблице без identity полей и весь джоб останавливается.

"Валится" - это такое сообщение об ошибке

maldalik
Можно как то сказать ему игнорировать ошибку?

Написать обработку ошибок для вас аналогично "сказать ему" ?
8 окт 15, 11:29    [18251570]     Ответить | Цитировать Сообщить модератору
 Re: Upgrade базы MSSQL 2000 до 2008  [new]
maldalik
Member

Откуда:
Сообщений: 63
Я же сказал что ошибка пишет нет идентити полей.
Но в 2008 я уже нашел как выгрести нужные таблицы, и в курсоре чекаю только их.
Вроде работает.
Раньше когда задачи делать подъем регулярно небыло хватало того скрипта. В агенте же по ходу все переедлать придется.
8 окт 15, 12:08    [18251905]     Ответить | Цитировать Сообщить модератору
 Re: Upgrade базы MSSQL 2000 до 2008  [new]
Glory
Member

Откуда:
Сообщений: 104760
maldalik
Я же сказал что ошибка пишет нет идентити полей.

Эта ошибка в любых вресиях одинакова. Она логична для таблиц, где нет identity
8 окт 15, 12:10    [18251927]     Ответить | Цитировать Сообщить модератору
 Re: Upgrade базы MSSQL 2000 до 2008  [new]
maldalik
Member

Откуда:
Сообщений: 63
Еще глупый вопрос написал процедуру которая по курсору
выгребает все таблицы с identity и чекает их, но список отображает непонятные таблицы
queue_messages_2108324183
queue_messages_2140324297
queue_messages_24840763

Которых на самом деле нет
Вот запрос для курсора

SELECT  distinct OBJECT_NAME(object_id) AS TableName 
FROM    sys.identity_columns
ORDER BY TableName
9 окт 15, 06:07    [18256422]     Ответить | Цитировать Сообщить модератору
 Re: Upgrade базы MSSQL 2000 до 2008  [new]
Glory
Member

Откуда:
Сообщений: 104760
maldalik
Которых на самом деле нет

Системных таблиц для вас не существует ?
Или вы для них тоже identity собрались переделывать ?
9 окт 15, 09:14    [18256718]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить