Не удалось найти сервер 'dbo' в sys.servers - PullRequest
13 голосов
/ 20 марта 2009

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

Не удалось найти сервер 'dbo' в sys.servers. Убедитесь, что правильно имя сервера было указано. Если необходимо выполнить сохраненное процедура sp_addlinkedserver для добавления сервер для sys.servers.

Понятия не имею, почему все остальные хранимые процедуры работают нормально, а эта нет ...

Кстати, я использую SubSonic в качестве слоя доступа к данным.

Ответы [ 4 ]

15 голосов
/ 26 апреля 2012

Пожалуйста, запустите select name from sys.servers с сервера, который вы указали как сервер по умолчанию в файле конфигурации.

Здесь в имени столбца значения должны совпадать с именами серверов, которые используются в запросе отчета.

например serverXXX.databasename.schema.tablename

serverXXX должен быть там в результате select name from sys.servers, иначе он выдает ошибку, как получил.

13 голосов
/ 20 марта 2009

Звучит так, будто есть лишнее "." (или два) в отображении - то есть он пытается найти server.database.schema.object. Проверьте свое отображение на наличие случайных точек / сомнительных записей.

4 голосов
/ 31 мая 2011

Также убедитесь, что имя сервера совпадает с тем, что вы думаете. Если вы переименуете хост, на котором работает SQL Server, вам также нужно переименовать SQL Server.

http://www.techrepublic.com/blog/datacenter/changing-the-name-of-your-sql-server/192

1 голос
/ 10 ноября 2010

У меня была другая проблема с тем же исключением, поэтому я опубликую здесь, если кто-то наткнется на нее:

Будьте внимательны, если вы указали имя сервера в синонимах. У меня было другое имя сервера на моей промежуточной машине и на рабочем месте, и это вызвало ту же ошибку «не удается найти сервер».

(Думаю, что в любом случае вам не следует так много использовать синонимы, но это полезно в некоторых сценариях миграции)

...