你执行一下这句话试试看,是否还报错。
select TOP 1 * from open(LinkServerName,pubs.dbo.authors)

解决方案 »

  1.   

    EXEC sp_addlinkedserver 'auchan','','SQLOLEDB',NULL,NULL,'DRIVER={SQL Server};SERVER=auchan;UID=sa;PWD=admin;'
    go
    exec sp_addlinkedsrvlogin  @rmtsrvname='auchan',@useself='false',@locallogin='sa',@rmtuser='sa',@rmtpassword='admin'
    GO
    select top 1 stor_id from auchan.pubs.dbo.salesgo
    EXEC sp_droplinkedsrvlogin  @rmtsrvname = 'auchan', @locallogin = 'sa'
    EXEC sp_dropserver  @server =  'auchan'
      

  2.   

    语句没有错误啊。
    报错说的是linkedserver内存不够吧。
      

  3.   

    --用这个看看会不会报错SELECT a.*
    FROM OPENROWSET('MSDASQL',
       'DRIVER={SQL Server};SERVER=serve;UID=sa;PWD=sa',
       db.dbo.table) AS a
      

  4.   

    EXEC sp_addlinkedserver '别名','','MSDASQL',NULL,NULL,'DRIVER={SQL Server};SERVER=远程名;UID=用户;PWD=密码;'
    exec sp_addlinkedsrvlogin  @rmtsrvname='别名',@useself='false',@locallogin='sa',@rmtuser='sa',@rmtpassword='密码'
    GO
    然后你就可以如下:
    select * from 别名.库名.dbo.表名
    insert 库名.dbo.表名 select * from 别名.库名.dbo.表名
    select * into 库名.dbo.新表名 from 别名.库名.dbo.表名
    go--------------------------------------------
    exec sp_addlinkedsrvlogin  @rmtsrvname='别名',@useself='false',@locallogin='sa',@rmtuser='sa',@rmtpassword='密码'
    GO你用了吗??