Системные объекты таблиц изменились или больше не существуют после SQL Server 2005. Что является эквивалентом?

Я смотрю отчет о совместимости обновления на сервере SQL и вижу следующую ошибку:

Системные объекты таблиц изменились или больше не существуют после SQL Server 2005. Использование этого может привести к ошибкам. Для получения более подробной информации, смотрите: Строка X, Столбец Y.

Мы переходим на SQL Server 2016, что мне нужно заменить sysobjects.

Часть хранимой процедуры, которая генерирует вышеуказанное сообщение о совместимости 110, выглядит следующим образом:

ВЫБЕРИТЕ имя ОТ СИСТЕМНЫХ ОБЪЕКТОВ

1 ответ

Решение

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

Кроме того, если вы будете искать в Google sysobject/other "old" system table, первое, что там будет написано, это то, что таблица устарела, вместо этого используйте new_ system_view, таким образом вы сможете найти новую.

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