Лучший ответ на этот вопрос немного короткий, но посмотрите книги в Интернете, в которых рассказывается о том, какие функции должны быть удалены в будущих версиях, а какие нет в различных версиях.
Например. В SQL Server 2008 синтаксис левого внешнего соединения «старого стиля» ( WHERE Table2.col1 *= Table1.Col1
) указан как устаревший (там, но в будущих версиях нет выхода), и он, наконец, пропал в SQL Server 2012. Так что, если вы сохранили этот синтаксис в 2008 году будет работать, но потребует работы после обновления до SQL 2012 или выше, иначе у вас возникнет ошибка.
Для начала ознакомьтесь с этими ссылками, которые приведут вас к статьям, в которых описано, какие функции больше не поддерживаются в указанной версии и какие функции должны быть удалены в будущем. Затем найдите их в своем коде. I Также можно сказать, что вы можете захотеть взглянуть на будущую совместимость после SQL Server 2012, если вы откладываете более 3 лет. Например, поля TEXT по-прежнему будут работать в SQL Server 2012, но они вряд ли будут работать в версии после SQL Server 2012 по ссылкам ниже.
SQL Server 2012 устарел список возможностей
SQL Server 2008R2 устарел список возможностей
Вам также следует убедиться, что вы позволили своей базе данных работать в режиме совместимости с SQL Server 2008 после обновления до 2008 года, и чтобы она работала хорошо в 2008 году, и чтобы вы могли обновить ее до 2012 года - Базы данных SQL Server 2000 или базы данных, работающие в SQL Server. Режим совместимости 2000 не будет мигрировать на SQL Server 2012.
Я также написал ответ, в котором много говорится об обновлениях, миграциях и общих шагах готовности.