Поскольку вы кажетесь новичком, вам нужно знать, что при обращении за помощью по Db2 важно всегда писать свою версию Db2 и операционную систему Db2-сервера (Z / OS, i-Series (ранее) AS / 400) или Linux / Unix / Windows). Это связано с тем, что три платформы имеют разные возможности, а иногда и SQL разные, а каталог различен.
Вы получаете эту ошибку, потому что ваш запрос предназначен только для баз данных Microsoft SQL-Server.
Ваш запрос не может работать на Db2, поскольку Db2 не позволяет именам созданных пользователем схем начинаться с SYS. Некоторые созданные IBM имена схем могут начинаться с SYS, например SYSIBM и SYSCAT, но они зарезервированы для каталога и создаются Db2 при создании базы данных.
В Db2 есть таблицы, такие как SYSIBM.SYSROLEAUTH и SYSIBM.SYSROLES, и (в Linux / Unix / Windows) набор представлений об этом в схеме SYSCAT.
Например, если ваш Db2-сервер работает в Linux / Unix / Windows, тогда эти представления существуют SYSCAT.ROLES и SYSCAT.ROLEAUTH .
Кроме того, Db2 для Linux / Unix / Windows предоставляет табличную функцию AUTH_LIST_AUTHORITIES_FOR_AUTHID , что весьма полезно.
Если ваш Db2-сервер работает на i-Series, то существует различных таблиц / представлений. Вот почему вам нужно знать , какую платформу Db2 вы используете, и написать это в своих вопросах.