Msg 7202, уровень 11, состояние 2, строка 1 Не удалось найти сервер acct в sys.servers - PullRequest
0 голосов
/ 10 июля 2020

Знаете ли вы, в чем может быть ошибка кода при запросе с моими таблицами и подключением к базе данных сервера, я обычно перечисляю свой запрос в следующем формате, и сегодня он предоставляет мне такую ​​же продолжающуюся ошибку, и только этот запрос отображает этот тип ошибка. Мои таблицы ссылаются на правильную базу данных по той причине, что это единственная база данных, которая хранит эти таблицы. Мой код запроса, указанный ниже, возможно, в нем чего-то не хватает.

SELECT  Distinct
'CA' AS 'Server'     
 
, DATENAME(month, res.Move_in_Date) [MonthName]
, DATEPART(day, res.Move_in_Date) [Day]
, DATENAME(WEEKDAY, res.Move_in_Date) [Weekday]

, res.Move_in_Date
, res.Move_out_Date
, ge.Entity_Number
, bld.Building_Name
, addr.Address2
, addr.City
, addr.State
, addr.Zip_Code
, bld.Building_ID
, unts.Unit_Number
, res.First_Name
, res.Last_Name
, ge.Active AS GL_Entities_Active
, bld.Building_Active

FROM            
acct.cam_ca.dbo.residents AS res

INNER JOIN
acct.cam_ca.dbo.units AS unts
ON res.Unit_ID = unts.Unit_ID 

INNER JOIN
acct.cam_ca.dbo.addresses AS addr

INNER JOIN
acct.cam_ca.dbo.gl_entities AS ge
ON addr.Address_ID = ge.Address_ID 

INNER JOIN
acct.cam_ca.dbo.buildings AS bld
ON ge.GL_Entity_ID = bld.GL_Entity_ID ON unts.Building_ID = bld.Building_ID


WHERE 
ge.Active = 1
AND ge.Entity_Number = 1
AND bld.Building_Active = 1

AND res.Move_in_Date BETWEEN '20200101 00:00:00.000 AM' AND '20200707 11:59:59 PM'


ORDER BY 
ent.Entity_Number
, res.Move_in_Date

Ответы [ 2 ]

0 голосов
/ 10 июля 2020

Как видно из сообщения об ошибке, сервер, упомянутый в запросе, недоступен в представлении метаданных sys.servers. Есть две возможности:

  1. Сервер "acct" недоступно.

  2. Сервер «acct» определен, но может иметь другое имя.

Устранение неполадок путем выполнения запросов Выполните запрос ниже чтобы перечислить все доступные серверы,

select name,data_source from sys.servers

Попробуйте определить имя, соответствующее источнику_данных, и используйте это имя вместо acct для сервера в своем запросе. Если вы не можете идентифицировать релевантную запись, обратитесь к администратору баз данных, чтобы предоставить сведения о сервере.

0 голосов
/ 10 июля 2020

Ваш запрос пытается получить доступ к таблицам на другом сервере, доступ к которым осуществляется через связанный сервер с именем acct. Например, в вашем коде есть acct.cam_ca.dbo.residents. Здесь:

  • residents - имя таблицы
  • dbo - имя схемы
  • cam_ca - имя базы данных
  • acct - имя связанного сервера

Либо связанный сервер существовал, но был удален администратором баз данных, либо вы выполняете свой запрос на другом сервере, а не на том, на котором он работает, и это на новом сервере не настроен связанный сервер acct, или вы изменили запрос.

...