Ответ 1
Похоже, что есть дополнительный ".". (или два) в сопоставлении - то есть он пытается найти server.database.schema.object. Проверьте свое сопоставление для блуждающих точек/сомнительных записей.
У меня есть много служб, которые запрашивают базу данных. Все они работают нормально, но одна служба, вызывающая хранимую процедуру, дает мне следующую ошибку:
Не удалось найти сервер dbo в sys.servers. Убедитесь, что правильный имя сервера. Если необходимо, выполнить сохраненные процедура sp_addlinkedserver для добавления сервер для sys.servers.
Я не знаю, почему все остальные хранимые процедуры работают нормально, а это не...
Кстати, я использую SubSonic как уровень доступа к данным.
Похоже, что есть дополнительный ".". (или два) в сопоставлении - то есть он пытается найти server.database.schema.object. Проверьте свое сопоставление для блуждающих точек/сомнительных записей.
Запустите select name from sys.servers
с сервера, который вы назвали сервером по умолчанию в файле конфигурации.
Здесь в столбцах имени столбца должны совпадать имена серверов, используемые в запросе отчета.
e.g serverXXX.databasename.schema.tablename
serverXXX должен присутствовать в результате select name from sys.servers
, иначе он дает ошибку, как полученную.
Также убедитесь, что имя сервера соответствует тому, что вы думаете. Если вы переименуете хост, на котором работает SQL Server, вам также нужно переименовать SQL Server.
http://www.techrepublic.com/blog/datacenter/changing-the-name-of-your-sql-server/192
У меня была другая проблема с тем же исключением, поэтому я отправлю сюда, если кто-то наткнется на него:
Будьте осторожны, если вы укажете имя сервера в синонимах. У меня было другое имя сервера на моем промежуточном компьютере и в производстве, и это вызвало ту же ошибку "не удается найти сервер".
(Угадайте, вы не должны сильно использовать синонимы, но это полезно в некоторых сценариях миграции)