Test-SQL
也许是你的 SQL Server 实例名称,
具体可以见:
< table_source >指定要在 Transact-SQL 语句中使用的表或视图(带或不带别名均可)。可在语句中使用多达 256 个表。可将 table 变量指定为表源。 如果表或视图存在于同一台运行 Microsoft&reg; SQL Server&#8482; 的计算机的其它数据库中,应按格式 database.owner.object_name 使用完全合法的名称。如果表或视图存在于本地服务器之外的一台链接的服务器上,应按以下格式使用由四部分组成的名称:linked_server.catalog.schema.object。如果由四部分构造的表(或视图)名称使用 OPENDATASOURCE 函数作为名称中的服务器部分,则该名称也可用于指定表源。有关该函数的更多信息,请参见 OPENDATASOURCE。

解决方案 »

  1.   

    去查一下Linked Server裡面,你應該是注冊的時候是用機器名注冊的,所以能夠通過機器名訪問。
      

  2.   

    exec sp_addlinkedserver '10.3.11.11','SQL Server'exec sp_addlinkedsrvlogin 10.3.11.11',false,null,'sa',''select * from [10.3.11.11].TestDB.dbo.TestTbl
      

  3.   

    1.Linked Server我也有看過,我用Server的IP建立LinkedServer時報錯說此IP的Server已經存在,但用電腦名字建立,可以成功
    2.select * from [Test-SQL].TestDB.dbo.TestTbl運行成功;
     select * from [10.3.11.11].TestDB.dbo.TestTbl運行報錯
     伺服器: 訊息 7411,層級 16,狀態 1,行 1
      伺服器 '10.3.11.11' 並未設定給 DATA ACCESS。
      

  4.   

    首先要明确一点,你到底是想通过IP地址还是机器名查询连接的服务器?
    如果要用IP地址的话,先用sp_droplinkedsrvlogin把此Server去掉.再重新添加~也可参照master.sysServers表!
    看一下.
      

  5.   

    我想通過IP訪問呀~~~~
    執行sp_dropserver  '10.3.11.11', 'droplogins'時報錯:
        伺服器: 訊息 20583,層級 16,狀態 1,程序 sp_MSrepl_check_server,行 30
        無法卸除伺服器 '10.3.11.11',因為它在複寫中為訂閱者。
    這個錯誤原因是我之前本地Server為發行者,'10.3.11.11'這台Server為收閱者!可是如何在不影響Server正常功能的情況下能夠真正實現通過IP來跨Server訪問列?
      

  6.   

    先看一下master.sysServers表,如果表中有srvName=“Test-SQL”的記錄,
    則用sp_dropserver把“Test-SQL” Drop掉,然後用sp_addlinkedserver添加IP地址。
    這樣再試試看呢。