0

Я выполняю запрос на большом количестве серверов, и только на трех из них (SQL2000, SQL2005 и SQL2008) запрос завершается с ошибкой. Я перевернул его, чтобы ссылаться на таблицу в другой БД.Ссылка на другую таблицу в T-SQL не работает

SELECT * FROM MASTER.dbo.syslogins AS syslogins 

Который работает на 99% серверов, но на три дает:

Invalid object name 'MASTER.dbo.syslogins' 

Если переключиться на мастер-БД и запустить

SELECT * FROM dbo.syslogins AS syslogins 

Затем он работает. Я также проверил у меня есть разрешения, запустив

SELECT IS_SRVROLEMEMBER('sysadmin'); 

который возвращает 1. Так почему же ссылается таблица MASTER.dbo.syslogins терпят неудачу?

+2

ли работа, если вы звоните MASTER в нижнем регистре? ie.SELECT * FROM master.dbo.syslogins –

+1

Не могу поверить, что сработало. Спасибо. – 6502peeker

+0

Для тех серверов, которые все еще застряли в Sql Server 2000 ... Sql Server 2000 - это минус конец жизни. Он больше не получает никаких патчей, даже для критических проблем с безопасностью, и не на какое-то время. Продолжать использовать его очень безответственно. Обновление этих баз данных - это работа 1. –

ответ

1

Возможно, сервер настроен с учетом сортировки по регистру. Попробуйте

SELECT * FROM master.dbo.syslogins

+1

Это сработало, спасибо. – 6502peeker

Смежные вопросы