Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 перенос бд с 2000 на 2014  [new]
senn
Member

Откуда:
Сообщений: 408
собственно сабж.

Подробности: есть около 60 баз, которые необходимо перенести с SQL 2000 (точной версии пока не знаю) на 2014. Первое, что пришло в голову - Attach/Detach. Протестил: напрямую сделать не удалось, только с промежуточным переносом на 2005.

Вопрос: можно ли сделать это меньшими страданиями? Все три сервера (2000, 2005 и 2014) находяться в разных подсетях. Сокрость небольшая, переброска баз туда-сюда займет время. А времени на все, плюс инсталл 2014 выделяют полдня.

Может есть какой-то прямой способ конвертации из 2000 в 2014?

Спасибо большое!
4 июн 15, 15:50    [17731109]     Ответить | Цитировать Сообщить модератору
 Re: перенос бд с 2000 на 2014  [new]
komrad
Member

Откуда:
Сообщений: 5244
senn
собственно сабж.

Подробности: есть около 60 баз, которые необходимо перенести с SQL 2000 (точной версии пока не знаю) на 2014. Первое, что пришло в голову - Attach/Detach. Протестил: напрямую сделать не удалось, только с промежуточным переносом на 2005.

Вопрос: можно ли сделать это меньшими страданиями? Все три сервера (2000, 2005 и 2014) находяться в разных подсетях. Сокрость небольшая, переброска баз туда-сюда займет время. А времени на все, плюс инсталл 2014 выделяют полдня.

Может есть какой-то прямой способ конвертации из 2000 в 2014?

Спасибо большое!


прямого способа нет - раз сам МС не поддерживает
можно попробовать такой вариант:
1) поставить 2005
2) перенести на него базы
3) проапгрейдить инстанс до 2014
4 июн 15, 15:54    [17731132]     Ответить | Цитировать Сообщить модератору
 Re: перенос бд с 2000 на 2014  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
senn
Может есть какой-то прямой способ конвертации из 2000 в 2014?

нет... 2014 не поддерживает уровень сомвестимости бд 2000.
Может ,конечно,есть какой-то хак по етому поводу,но еще не попадался на глаза
4 июн 15, 15:55    [17731140]     Ответить | Цитировать Сообщить модератору
 Re: перенос бд с 2000 на 2014  [new]
senn
Member

Откуда:
Сообщений: 408
komrad,

Спасибо, но боюсь, что клиент не захочет апгрейд. Проще время добавить.

Сформулирую вопрос иначе: выбранный мною вариант оптимальный? Или можно сделать красивей/быстрее/изящней?
(бэкап/рекавери не лучше?)

Спасибо!
4 июн 15, 16:00    [17731172]     Ответить | Цитировать Сообщить модератору
 Re: перенос бд с 2000 на 2014  [new]
senn
Member

Откуда:
Сообщений: 408
Maxx,

спасибо! значит буду делать, как планировал.
4 июн 15, 16:01    [17731177]     Ответить | Цитировать Сообщить модератору
 Re: перенос бд с 2000 на 2014  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4730
senn
Maxx,

спасибо! значит буду делать, как планировал.


Вы об обратной совместимости запросов подумали? Что-то может не прокатить
4 июн 15, 17:05    [17731586]     Ответить | Цитировать Сообщить модератору
 Re: перенос бд с 2000 на 2014  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7762
За полдня не управитесь с 60 базами-то. Да и вопрос совместимости действительно есть, т.к. 2000 следовал стандартам менее строго и кое-какой синтаксис устарел. Опять же, у Вас появятся схемы и принципалы и не факт, что ПО со всем этим заработает с разу, особенно работающее нестандартно.
4 июн 15, 18:09    [17732027]     Ответить | Цитировать Сообщить модератору
 Re: перенос бд с 2000 на 2014  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
Владислав Колосов
За полдня не управитесь с 60 базами-то. Да и вопрос совместимости действительно есть, т.к. 2000 следовал стандартам менее строго и кое-какой синтаксис устарел. Опять же, у Вас появятся схемы и принципалы и не факт, что ПО со всем этим заработает с разу, особенно работающее нестандартно.


да уж, а есть синтаксис, который не поддерживается, а проявляется только во время работы с базой
4 июн 15, 18:45    [17732181]     Ответить | Цитировать Сообщить модератору
 Re: перенос бд с 2000 на 2014  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4730
Winnipuh
Владислав Колосов
За полдня не управитесь с 60 базами-то. Да и вопрос совместимости действительно есть, т.к. 2000 следовал стандартам менее строго и кое-какой синтаксис устарел. Опять же, у Вас появятся схемы и принципалы и не факт, что ПО со всем этим заработает с разу, особенно работающее нестандартно.


да уж, а есть синтаксис, который не поддерживается, а проявляется только во время работы с базой


Я переносил довольно крупный проект с 2000 на 2005 и там пришлось много чего делать. А тут сразу на 2014
4 июн 15, 19:02    [17732259]     Ответить | Цитировать Сообщить модератору
 Re: перенос бд с 2000 на 2014  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
кстати, а эти 60 баз - с одной структурой или разнобой?
4 июн 15, 19:06    [17732271]     Ответить | Цитировать Сообщить модератору
 Re: перенос бд с 2000 на 2014  [new]
o-o
Guest
До компа доберусь -- проверю, возьмет ли 2014-ый базы 2005-ого, от 2008-ого точно да,
а с 2005-ым почему-то сомневаюсь, но неважно.

А предложение такое: не переносить сразу на 2014 и все тут.
Клиента же окучить официальными доками, в прямом смысле:
распечатать кучу статей и в ней потопить. Предъявить, какие версии баз официально может проапгрэйдить 2014-ый сервер,
баз 2000-ого там точно не будет.
Показать, какие сервера поддерживают compatibility level 80,
и там только 2005 и 2008 будут.
В связи с чем установить именно 2005/2008 и тестировать на нем сперва с с.l. 80,
потом убрать 80, снова тестировать, и только потом перенести на 2014.
Не зря же придумали это compatibility level, на него нагуглить, зачем это нужно (как раз за тем),
тоже распечатать и приобщить к делу
4 июн 15, 19:38    [17732401]     Ответить | Цитировать Сообщить модератору
 Re: перенос бд с 2000 на 2014  [new]
appplayer
Member

Откуда: http://appplayer.ru/
Сообщений: 1
komrad,
спасибо
4 июн 15, 20:40    [17732639]     Ответить | Цитировать Сообщить модератору
 Re: перенос бд с 2000 на 2014  [new]
o-o
Guest
ну что, проверка показала, да апгрэйдит (2005 --> 2014):
Converting database 'db1' from version 611 to the current version 782.
...
в результате имеем базу версии 782 с compatibility_level 100
4 июн 15, 21:28    [17732820]     Ответить | Цитировать Сообщить модератору
 Re: перенос бд с 2000 на 2014  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
o-o
ну что, проверка показала, да апгрэйдит (2005 --> 2014):
Converting database 'db1' from version 611 to the current version 782.
...
в результате имеем базу версии 782 с compatibility_level 100


Это да, а вот сделай такой эксперимент, если есть время и желание:

1. В исходной базе в триггере или процедуре используй конструкцию типа такой

RAISERROR 16001 'этопипец'

2. Апгрейдни базу до 2014

3. спасиба пажалуста ;-)
4 июн 15, 21:34    [17732842]     Ответить | Цитировать Сообщить модератору
 Re: перенос бд с 2000 на 2014  [new]
o-o
Guest
Winnipuh,

вроде все нормально, проапгрэйдилось и запускается.
2005 --> 2014

К сообщению приложен файл. Размер - 56Kb
4 июн 15, 22:31    [17733018]     Ответить | Цитировать Сообщить модератору
 Re: перенос бд с 2000 на 2014  [new]
o-o
Guest
ну что, товарищи, Winnipuh прав.
это просто я старый синтаксис не знаю.
а 2005-ый еще как.
так 2014-ый базу проапгрэйдил, а процедурку-то не запускает:
4 июн 15, 23:08    [17733149]     Ответить | Цитировать Сообщить модератору
 Re: перенос бд с 2000 на 2014  [new]
o-o
Guest


К сообщению приложен файл. Размер - 43Kb
4 июн 15, 23:09    [17733151]     Ответить | Цитировать Сообщить модератору
 Re: перенос бд с 2000 на 2014  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
o-o
ну что, товарищи, Winnipuh прав.
это просто я старый синтаксис не знаю.
а 2005-ый еще как.
так 2014-ый базу проапгрэйдил, а процедурку-то не запускает:


это один из обманчивых моментов. То есть ТС с его 60(!) базами нужно быть внимательным и не считать, что если база апгрейднулась, то можно расслабиться. Выше о-о написал, что нужно грузить заказчика, что это реальная проблема, пусть платит
4 июн 15, 23:29    [17733191]     Ответить | Цитировать Сообщить модератору
 Re: перенос бд с 2000 на 2014  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7762
Так же *= джойны сломаются.
5 июн 15, 12:00    [17734893]     Ответить | Цитировать Сообщить модератору
 Re: перенос бд с 2000 на 2014  [new]
o-o
Guest
Владислав Колосов
Так же *= джойны сломаются.

в compatibility_level = 80 не сломаются.
спасибо за пример, где именно эта опция и рулит

Microsoft SQL Server 2008 R2 (SP3) - 10.50.6000.34 (Intel X86) Aug 19 2014 12:21:07 Copyright (c) Microsoft Corporation Developer Edition on Windows NT 6.1 <X86> (Build 7601: Service Pack 1)

К сообщению приложен файл. Размер - 81Kb
5 июн 15, 12:11    [17734969]     Ответить | Цитировать Сообщить модератору
 Re: перенос бд с 2000 на 2014  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7762
o-o,

compatibility_level = 80

а смысл? Получить поддержку от MS?
5 июн 15, 12:18    [17735020]     Ответить | Цитировать Сообщить модератору
 Re: перенос бд с 2000 на 2014  [new]
o-o
Guest
ну мне лень весь топик пересказывать.
официальный хэлп:

Use compatibility level as an interim migration aid to work around version differences in the behaviors
that are controlled by the relevant compatibility-level setting.
If existing SQL Server applications are affected by behavioral differences in SQL Server 2014,
convert the application to work properly.
Then use ALTER DATABASE to change the compatibility level to 120.

когда тебе дают полдня на миграцию и хотят, чтобы все заработало,
частично поможет.
как написано выше, это временная мера, устраняешь атавизмы, выставляешь нормальный compatibility level
5 июн 15, 12:36    [17735128]     Ответить | Цитировать Сообщить модератору
 Re: перенос бд с 2000 на 2014  [new]
iap
Member

Откуда: Москва
Сообщений: 46978
o-o
устраняешь атавизмы, выставляешь нормальный compatibility level
Не атавизмы, а рудименты!
5 июн 15, 12:47    [17735199]     Ответить | Цитировать Сообщить модератору
 Re: перенос бд с 2000 на 2014  [new]
o-o
Guest
а что, все ок:
"Атави́зм (от лат. atavus — отдалённый предок) — появление у данной особи признаков,
свойственных отдалённым предкам, но отсутствующих у ближайших."

вот перенесут они базу на современный сервер, она проапгрэйдится,
будет "современная база".
а внутри нее всякие атавизмы.
у ближайших предков (2014) никаких =* нет,
а у отдаленных (2000) -- да.

и проявятся они не во время апгрэйда, а после.
поэтому, если все так срочно, то какое-то время можно и попритворяться базой-80
5 июн 15, 12:57    [17735259]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: перенос бд с 2000 на 2014  [new]
f50
Member

Откуда: Россия
Сообщений: 453
o-o

Коллеги, как добиться от RAISERROR такой же красненькой строки как на картинке слева от o-o

Дело в том, что не могу отловить сообщение RAISERROR в своей программе. У меня он отрабатывает "Запрос успешно выполнен".

	EXEC sp_addmessage @msgnum = 50005,
              @severity = 10,
              @msgtext = N'Вот такая вот ошибка блин!';

	RAISERROR (50005,10,1,N''); 

	EXEC sp_dropmessage @msgnum = 50005;


В 2005 MSSQL как то проще было, всего 2 параметра...

Microsoft SQL Server 2012 - 11.0.2100.60 (X64) 
Feb 10 2012 19:39:15
Copyright (c) Microsoft Corporation
Express Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)
7 июн 17, 10:34    [20545785]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить