У нас есть приложение, использующее MSSQL, когда мы переходим к 2005 году, в основном мы рекомендуем нашему клиенту применить пакет обратной совместимости, и все, но кто-то спрашивает меня, что делать, чтобы быть на 100% совместимым с 2005 годом. Я думал о 1. Уровень совместимости: SQL Server 2005 (90) 2. Удалите все ссылки DMO и замените их на SMO. 3. Подключиться с помощью ADO
Я не уверен, что это правильный ответ.





На самом деле вы говорите о двух разных вещах.
Один из них - обновить базу данных до уровня SQL 2005, чтобы можно было использовать функции, доступные только там. Это легко сделать, установив уровень совместимости. Однако в этом случае у клиентов SQL 2000 могут возникнуть проблемы с этим.
Во-вторых, необходимо обновить ваше приложение, чтобы оно использовало только библиотеки, связанные с SQL 2005. Это также легко, в основном шаги, которые вы написали. В этом случае ваше приложение также может работать с базами данных SQL 2000 (за исключением случаев, когда вы используете какую-либо особенность SQL 2005), поскольку библиотеки имеют обратную совместимость.
Конечные слова: вы в любом случае являетесь совместимый с SQL 2005, единственная разница в том, что вы можете использовать SQL 2005 особенности или нет.
Почему бы уже не перейти на SQL 2008? Вот ветка по этой теме.
Чтобы узнать, действительно ли вы совместимы, единственный способ выяснить это - запустить приложение на сервере SQL 2005 без пакета обратной совместимости. Если у вас есть исчерпывающий набор тестов, это очень поможет, но вам нужно убедиться, что весь ваш бэкэнд-код работает и работает нормально.
Я работал над приложением, которое использовало SQL 2000 и SQL 2005, и единственные части приложения, которые требовали переключения версий, были в каком-то сложном коде отражения, который требовал использования системных таблиц SQL Server для динамического обнаружения таблиц во время выполнения. Решением для нас было использование динамического SQL, но вы должны сделать правильный выбор для своего приложения и пользователей.
Ваше приложение на 100% совместимо с SQL 2005, если оно будет правильно работать в «нестандартной» конфигурации SQL 2005 без каких-либо исправлений обратной совместимости.
Если у вас есть какие-либо пакеты DTS, их необходимо преобразовать в пакеты SSIS, чтобы они были полностью совместимы.
Если вы действительно хотите убедиться, что вы полностью совместимы, проверьте в документации, какие функции устарели, и если вы используете какие-либо из них, исправьте их сейчас.
Вы также можете посмотреть любой имеющийся у вас код, который может использовать функцию поворота, которой не было в 2000 году. Старый код будет работать, но код поворота будет лучшим выбором и, вероятно, более эффективным. То же самое и с другими новыми функциями, проверьте, как вы их обходили, и исправьте. Один важный вопрос, который следует учитывать, - можете ли вы избавиться от своих текстовых полей с новым типом данных, varchar (max). Затем поищите в коде места, где вы конвертировали в varchar, чтобы провести сравнение.