Sql server SQL Server 2017和2012中使用DB链接的差异

Sql server SQL Server 2017和2012中使用DB链接的差异,sql-server,linked-server,openquery,Sql Server,Linked Server,Openquery,我有两个SQL Server环境: SQL Server 2017(RTM)-14.0.1000.169(X64),可复制到另一个MS Server节点(主+从体系结构) SQL Server 2012(SP3)(KB3072779)-11.0.6020.0(X64) 从这些服务器到Firebird DB有相同的DbLink。测试连接返回“OK” 当我打电话时 select top 10 * from PROD_R...face_accs 在第一个环境中,我收到错误消息 SQL Server数

我有两个SQL Server环境:

  • SQL Server 2017(RTM)-14.0.1000.169(X64),可复制到另一个MS Server节点(主+从体系结构)
  • SQL Server 2012(SP3)(KB3072779)-11.0.6020.0(X64)
  • 从这些服务器到Firebird DB有相同的DbLink。测试连接返回“OK”

    当我打电话时

    select top 10 * from PROD_R...face_accs
    
    在第一个环境中,我收到错误消息

    SQL Server数据库错误:链接服务器“PROD\u R”的OLE DB提供程序“MSDASQL”不包含表“face\u accs”。该表不存在或当前用户对该表没有权限。`

    但它在第二种环境下运行良好。另外,如果我在第一个环境中通过
    OPENQUERY
    调用此查询,它也可以工作


    像«from PROD\u R…face\u accs»这样的查询在SQL Server 2017上是否不再有效?

    在四部分名称中,我认为您缺少数据库名称。您可能需要提及它来检查表存在性检查我尝试在
    中使用
    a\u数据(它是firebird中的db名称)从PROD\R.a\u data.face\u accs
    中选择前10个*,但它没有帮助。我在很多变体中执行了这个查询。