OPENDATASOURCE
不使用链接的服务器名,而提供特殊的连接信息,并将其作为四部分对象名的一部分。
OPENDATASOURCE 函数可以在能够使用链接服务器名的相同 Transact-SQL 语法位置中使用。因此,就可以将 OPENDATASOURCE 用作四部分名称的第一部分,该名称指的是 SELECT、INSERT、UPDATE 或 DELETE 语句中的表或视图的名称;或者指的是 EXECUTE 语句中的远程存储过程。当执行远程存储过程时,OPENDATASOURCE 应该指的是另一个 SQL Server。OPENDATASOURCE 不接受参数变量。与 OPENROWSET 函数类似,OPENDATASOURCE 应该只引用那些不经常访问的 OLE DB 数据源。对于访问次数稍多的任何数据源,请为它们定义链接的服务器。无论 OPENDATASOURCE 还是 OPENROWSET 都不能提供链接的服务器定义的全部功能,例如,安全管理以及查询目录信息的能力。每次调用 OPENDATASOURCE 时,都必须提供所有的连接信息(包括密码)。下面的示例访问来自某个表的数据,该表在 SQL Server 的另一个实例中。SELECT   *
FROM      OPENDATASOURCE(
         'SQLOLEDB',
         'Data Source=ServerName;User ID=MyUID;Password=MyPass'
         ).Northwind.dbo.Categories

解决方案 »

  1.   

    OPENROWSET
    包含访问 OLE DB 数据源中的远程数据所需的全部连接信息。当访问链接服务器中的表时,这种方法是一种替代方法,并且是一种使用 OLE DB 连接并访问远程数据的一次性的、特殊的方法。可以在查询的 FROM 子句中像引用表名那样引用 OPENROWSET 函数。依据 OLE DB 提供程序的能力,还可以将 OPENROWSET 函数引用为 INSERT、UPDATE 或 DELETE 语句的目标表。尽管查询可能返回多个结果集,然而 OPENROWSET 只返回第一个。
    A. 将 OPENROWSET 与 SELECT 语句及用于 SQL Server 的 Microsoft OLE DB 提供程序一起使用
    下面的示例使用用于 SQL Server 的 Microsoft OLE DB 提供程序访问 pubs 数据库中的 authors 表,该数据库在一个名为 seattle1 的远程服务器上。从 datasource、user_id 及 password 中初始化提供程序,并且使用 SELECT 语句定义返回的行集。USE pubs
    GO
    SELECT a.*
    FROM OPENROWSET('SQLOLEDB','seattle1';'sa';'MyPass',
       'SELECT * FROM pubs.dbo.authors ORDER BY au_lname, au_fname') AS a
    GO
      

  2.   

    谢谢楼上的指点,但我希望知道在企业管理器中如何操作远程SQL Server,不是用SQL语句来实现,这个我已经学会了,烦请指点一下在企业管理器如何操作远程SQL Server好吗?谢谢您的指点。
      

  3.   

    在"服务器组"列表中,单击一个服务器组。 
    说明  如果所需要的组尚不存在,则单击生成("...")按钮创建它,并完成"服务器组"对话框。
    执行下列一个或多个操作: 
    选择"在控制台中显示 SQL Server 服务器的状态"复选框以打开服务轮询。
    选择"显示系统数据库和系统对象"复选框以显示所有系统数据库和对象。
    选择"在连接时自动启动 SQL Server"复选框以自动启动 SQL Server 实例。 
    重复步骤 1 到 5,在"SQL Server 企业管理器"中注册每个服务器。 
      

  4.   

    如何注册服务器(企业管理器)
    注册服务器 右击一个服务器或服务器组,然后单击"新建 SQL Server 注册"命令。 
    说明  如果上次使用注册服务器向导时,选择了"我希望今后在执行该任务时不使用向导"复选框,则 SQL Server 企业管理器将显示"已注册的 SQL Server 属性"对话框。否则,将启动注册服务器向导。在"服务器"框中,键入服务器名。
    若要指定 SQL Server 企业管理器(作为客户端)与运行正在注册的 Microsoft® SQL Server™ 实例的服务器之间的连接,请执行下列操作之一: 
    单击"使用 Windows 身份验证" 
    -或-单击"使用 SQL Server 身份验证" 
    使用这种类型的连接,必须提供登录名和密码。选择"总是提示输入登录名和密码"复选框,以便总是提示用户输入登录名和密码,而不要将登录 ID 和密码保存在注册表中。