Как сделать приложение полностью совместимым с SQL Server 2005?

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

Я не уверен, что это правильный ответ.

3 ответа

Чтобы убедиться, что вы действительно совместимы, единственный способ выяснить это - запустить приложение на сервере SQL 2005 без пакета обратной совместимости. Если у вас есть исчерпывающий набор тестов, это очень поможет, но вы должны убедиться, что весь ваш бэкэнд-код работает и работает нормально.

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

Ваше приложение на 100% совместимо с SQL 2005, если оно будет корректно работать в готовой конфигурации SQL 2005 без применения каких-либо исправлений обратной совместимости.

На самом деле вы говорите о двух разных вещах.

Одним из них является обновление базы данных до уровня SQL 2005, чтобы можно было использовать функции, доступные только там. Это можно легко сделать, установив уровень совместимости. Однако в этом случае у клиентов SQL 2000 могут возникнуть проблемы.

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

Конечные слова: вы в любом случае совместимы с SQL 2005, единственное отличие состоит в том, что вы можете использовать специфические функции SQL 2005 или нет.

Почему бы не перейти на SQL 2008 уже? Вот ветка об этой теме.

Если у вас есть какие-либо пакеты DTS, их необходимо будет преобразовать в пакеты служб SSIS, чтобы они были полностью совместимы.

Если вы действительно хотите убедиться, что вы полностью совместимы, проверьте в документации, какие функции устарели, и если вы используете какую-либо из них, продолжайте и исправьте их сейчас.

Вы также можете посмотреть любой имеющийся у вас код, который мог бы использовать функцию сводки, которой не было в 2000 году. Старый код будет работать, но этот сводный код будет лучшим выбором и, возможно, более эффективным. То же самое с другими новыми функциями, проверьте, как вы работали с ними и исправить. Один большой вопрос, который стоит рассмотреть, - можете ли вы избавиться от текстовых полей с помощью нового типа данных, varchar (max). Затем поищите места в своем коде, где вы конвертировали в varchar, чтобы сделать сравнения.

Другие вопросы по тегам