Перенесення бази MSSQL2008R2x64 під Windows 7 Home Edition => MSSQL2008R2x32 під Windows 2003 Server
Маю зараз халепу:
Взяв стартову базу з Terrasoft Sales 3.4.0.54
Розробка велась на MSSQL2008R2x64 під Windows 7 Home Edition.
Зробив бекап для перенесення бази на MSSQL2008R2x32 під Windows 2003 Server.
На вказаному сервері бекап піднімається нормально.
Але!
В адміністраторі на відновленій базі не розкриваються таблиці tbl_Account та tbl_Contact
Невозможно редактировать сервис 'Accounts\General\Main Grid\tbl_Account/tbl_Contact'. List index out of bounds (0)>
Сервіс tbl_Account вдалося скопіювати-перейменувати-відновити так, що функціонує нормально.
А от з сервісом tbl_Contact провернути таку операцію не вдалося.
Копія створюється.
При спробі зберегти відкриту копію виходить повідомлення:
Object 'Relation.ParenField' is not assigned>
При спробі перейменувати копію йде інше повідомлення:
Duplicate hash list entry: 60C1F956B6AB49E6A2D7450FF5D44464>
Провів ще експеримент по використанню пакета оновлень на обох компах:
підняв стартову базу в дві копії - TS, TS1
в TS1 перейменував назву tbl_Account з "Контрагент" на "Контрагент1"
сформував пакет оновлень для TS і спробував його накласти.
Результат однаковий:
Access violation at address 00439A38 in module 'TSAdmin.exe'. Read of address 00000004>
(Це після того як аналогічний результат отримав при спробі накласти пакет оновлень по реальних змінах)
Наостанок ще спробував створити скрипти для перенесення бази.
Теж не вдалося:
------------------------------
Выдано исключение типа "System.OutOfMemoryException".
------------------------------
Тепер чекаю реакції по інциденту і білш нічого іншого придумати не вдається.
Хіба що повторити розробку і наповнення даними заново.
Нравится
Ігоре, рекомендую Вам видалити сервіси повністю запитом до бази даних
delete from tbl_Service where Code = 'tbl_Account'
або в адміністраторі
і залити наново.
Нажаль, помилку обійти не вдається.
Коли вилучати сервіс через адміна, то система видає таку помилку:
[12.02.15 22.10.29.181] (E) Невозможно удалить 'Contacts\General\Main Grid\tbl_Contact'. List index out of bounds (0) «Call Stack»
Якщо вилучити запитом в базі і відновити сервіс з файлу, то, при спробі відкрити відновлений сервіс, повертається початкова помилка:
[12.02.15 23.26.01.384] (E) Невозможно редактировать сервис 'Contacts\General\Main Grid\tbl_Contact'. List index out of bounds (0) «Call Stack»
Ігоре, пересвідчіться, будь ласка, що Вами коректно перенесені і зареєстровані бінарні файли системи, оскільки проблема з редагуванням в тому числі може виникати через пошкодження бінарних файлів системи.
Чи намагалися Ви повторно розвернути резервну копію у себе на комп'ютері?
На комп"ютері замовника я зробив переінсталяцію програмного продукту.
Окрім того тестування системи пакетного оновлення на обох комп"ютерах дало однаковий негативний результат.
Але на моєму компі база піднімається коректно.
Можливо є якісь нюанси створення бекапу для MSSQL2008R2x64, які не враховуються в MSSQL2008R2x32 ?
Здравствуйте, Игорь.
Процедура создания резервной копии базы данных не отличается на MS SQL Server R2 x64 и MS SQL Server R2 x86. Разница просто в "битности" серверов. Правильно я понимаю, что проблем с созданием и установкой резервных копий нет, а проблема при попытке переноса пакета обновления?
С уважением, Terrasoft Support Team.
Так, Олександре, з резервними копіями проблем немає.
Є проблема скористатися базою, відновленою з резервної копії, на сервері призначення.
Хоча маю собі таке уявлення, що перенесення бази є формою повного відтворення всіх сервісів.
Щодо використання механізму пакету оновлень, то з ним, скоріше за все, вийшла плутанина з послідовністю оновлення сервісів.
На даний час вдалося послідовно оновити сервіси з файлів.
Довідкові дані з таблиць переніс скриптами.
З повагою,
Ігор АНдрусенко.
Если в обновлении участвовали сервисы таблиц, то попробуйте на новом сервере создать логин fkeys (Sequrity\Logins, правой кнопкой, New Login...) , а потом выполнить на базе запрос: sp_change_users_login 'auto_fix', 'fkeys'
С уважением, Terrasoft Support Team.