跨服务器架构比较错误

时间:2014-05-20 18:53:10

标签: sql-server database sql-server-2008

我有两台服务器,其中包含我要比较的数据库模式:DEVTEST。据我所知,他们都在运行SQL Server 2008.我已经编写了这个脚本:

SELECT 
  h.name AS object_name 
  ,SCHEMA_NAME(h.schema_id) AS schema_name
  ,h.type_desc
  ,h.create_date
  ,h.modify_date
  ,td.create_date as 'First Pushed Date'
  ,td.modify_date as 'Last Pushed Date'
FROM 
   DEV.dev_dashboard.sys.objects h
left join 
   TEST.dashboard.sys.objects td on h.name = td.name
WHERE 
   td.modify_date < h.modify_date and 
   h.modify_date > '4/1/2014'
ORDER BY 
   td.modify_date DESC;

这个脚本在大多数情况下对我来说非常好,但某些数据库组合会产生错误:

  

OLE DB提供程序&#34; SQLNCLI10&#34;对于链接服务器&#34; TEST&#34;不包含表&#34;&#34;仪表板&#34;。&#34; sys&#34;。&#34;对象&#34;&#34;。该表不存在或当前用户没有该表的权限。

这让我非常困惑,因为似乎没有任何押韵或理由。如果我已加入DEV,则会抱怨TEST。如果我已连接到TEST(使用相同的凭据),则会抱怨DEV。如果我将DEV.dev_Dashboard数据库(应该与DEV.Dashboard匹配)与TEST.Dashboard一起使用,如果我已连接到DEV,我就不会出错,但如果我和#39; m已连接到TEST

我无法弄清楚模式,数据库和表格显然存在,并且我拥有所有内容的完全权限(通过Windows凭据)。为什么这么不一致?

0 个答案:

没有答案