MOLDSQL - информационный ресурс, посвящённый учёбе работы с базами данных SQL
Вопросы совместимости
Совместимость на системном уровне
Понимая, насколько важна для клиентов преемственность версий продукта, в последнем выпуске SQL Server разработчики ввели концепцию уровней совместимости. В SQL Server 7.0 реализованы три уровня совместимости: 60 — для баз данных, использующих SQL Server 6.0; 65 — для SQL Server 6.5; и 70 — для баз данных под управлением SQL Server 7.0. Эти уровни позволяют наследуемым базам данных работать в среде 7.0 так, как если бы они управлялись более ранними версиями продукта.
Хранимая системная процедура sp_dbcmptlevel дает разработчикам возможность выяснять и изменять уровень совместимости их баз данных. К примеру, для того чтобы присвоить уровню совместимости базы данных Northwind значение 65, требуется выполнить следующую команду: sp_dbcmptlevel [Northwind], 65
В SQL Server 7.0 база данных Master должна всегда иметь уровень совместимости, равный 70. Если в нее добавлены какие-либо объекты, определенные пользователем, необходимо провести тестирование и убедиться, что они корректно работают на уровне 70. Но другие пользовательские базы данных можно отнести к уровням совместимости 65 и 60. Подобная функциональность позволяет разработчикам провести миграцию существующих баз данных в среду SQL Server 7.0 поэтапно. Например, среда разработки может поддерживать один новый проект, использующий SQL Server 7.0, и одновременно два старых проекта, один из которых функционирует на уровне совместимости 65, а другой — на уровне 60.
Для баз данных, имеющих уровни совместимости 60 и 65, многие новые возможности SQL Server 7.0 остаются недоступными. Более того, хотя SQL Server 7.0 все еще поддерживает работу подобных унаследованных баз данных, в последующих версиях продукта такой возможности, скорее всего, уже не будет. В связи с этим мы настоятельно рекомендуем перевести все приложения и базы данных на уровень 70 как можно скорее.
Системные таблицы и представления информационной схемы. В Microsoft всегда косо смотрели на разработчиков, которые обращались непосредственно к внутренним системным таблицам SQL Server. В документации, сопровождающей каждую версию SQL Server, пользователей предупреждают о том, что к системным таблицам надлежит обращаться только через какой-либо из специально созданных интерфейсов: системные хранимые процедуры, распределенные объекты управления SQL (SQL-DMO) или T-SQL. Смысл этого предупреждения заключается в том, что формат системных таблиц зависит от внутренней архитектуры SQL Server и может меняться от одной версии к другой. Однако, поскольку до версии SQL Server 7.0 специалисты Microsoft вводили незначительные изменения в системные таблицы, многие разработчики встроили эти таблицы в свои приложения.



