SQL Server: как определить, что сломается при понижении качества базы данных? - PullRequest
3 голосов
/ 11 августа 2010

Мы создаем приложение для клиента, предполагая, что оно будет обновлено до минимума SQL Server 2005 с SQL Server 2000. Мы закончили наше приложение, построенное в 2005 году, и готовы к интеграции.Оказывается, они не собираются обновлять свой сервер БД.

Итак, теперь мы застряли с попыткой разобраться, что сломается.

У нас нет доступа к SQL Server 2000, поэтому мы можем только изменить совместимость базы данных на80.

Помимо полного тестирования и проверки каждой хранимой процедуры (и я читал, что изменение режима совместимости не является надежным - таким образом, тестирование не будет защищенным от бомб), есть ли другой способ определить, что будетперерыв?Какие-нибудь инструменты там?Сценарии?

Редактировать

Я бы предпочел не пытаться восстановить это на своем производственном сервере БД, чтобы увидеть, какие ошибки выплевываются, так что это не хороший вариант.

Ответы [ 2 ]

4 голосов
/ 11 августа 2010

Предлагаем вам заглянуть в Книгу онлайн на страницу, где разъясняются различия между ними, и искать эти вещи. Вы можете просмотреть список, а затем найти новые ключевые слова в таблице, где хранится текст SP. Это даст вам начальный список.

@ rwmnau отметил несколько хороших, я добавлю еще два SQL Server 2000 не имеет varchar (max) или nvarchar (max), используйте текст вместо. SQl Server 2000 также не имеет служб SSIS - если вы создаете пакеты служб SSIS для импорта или перемещения данных в хранилище данных или экспорта данных, все они должны быть восстановлены в DTS.

Кроме того, мне кажется, что вы все еще можете загрузить бесплатную версию SQL Server 2000: http://www.microsoft.com/downloads/details.aspx?familyid=413744d1-a0bc-479f-bafa-e4b278eb9147&displaylang=en

Возможно, вы захотите сделать это и проверить это.

2 голосов
/ 11 августа 2010

Я бы не беспокоился о вашем ANSI-SQL (настройка уровня совместимости базы данных должна позаботиться о большинстве из этого), но есть несколько крупных функций, которые вы могли использовать, которые недоступны в SQL 2000 (там еще много, но это те, которые я видел, которые наиболее популярны):

Кроме того, хотя вы не должны этого делать, любые выборки непосредственно из системных таблиц (объекты, которые начинаются с «sys» или находятся в схеме «sys.»), Могли значительно измениться между SQL 2000 и 2005+, поэтому Посмотрим, выберете ли вы одну из них:

SELECT *
  FROM syscomments --I know, using a sys table to figure it out :)
 WHERE text like '%sys%'

Кроме того, стоит отметить, что хотя расширенная поддержка доступна за внушительную плату, Microsoft официально прекратила массовую поддержку SQL 2000 и в ближайшем будущем прекратит расширенную поддержку. Это оставляет вашего клиента (и вас) без каких-либо обновлений от Microsoft в случае исправлений безопасности, ошибок или чего-либо еще, что вы обнаружите. Я настоятельно рекомендую им не переходить на более новую версию (по крайней мере, 2005), хотя я подозреваю, что вы уже пошли по этому пути.

...