简单地说,就是使用"Windows 身份验证"SQL Server 2000 sysadmin 固定服务器角色成员必须首先向 SQL Server 2000 指定所有允许连接到 SQL Server 2000 的 Microsoft Windows NT® 或 Microsoft Windows® 2000 帐户或组。当使用 Windows 身份验证时,在连接到 SQL Server 2000 时不必指定登录 ID 或密码。用户对 SQL Server 2000 的访问权限由 Windows NT 或 Windows 2000 帐户或组控制,当登录到客户端上的 Windows 操作系统时需接受身份验证。当连接到 SQL Server 2000 时,SQL Server 2000 客户端软件向 SQL Server 2000 请求 Windows 信任连接。直到客户端使用有效的 Windows 帐户成功登录后,Windows 才打开信任连接。信任连接的属性包括打开连接的客户端的 Windows NT 和 Windows 2000 组及用户帐户。SQL Server 2000 从信任连接属性中得到用户的帐户信息,并将它们与定义为有效 SQL Server 2000 登录的 Windows 帐户相匹配。如果 SQL Server 2000 找到匹配的项,则接受这个连接。当使用 Windows 2000 身份验证连接到 SQL Server 2000 时,用户标识即是 Windows NT 或 Windows 2000 组或用户帐户。Microsoft Windows Me 和 Windows 98 操作系统不支持服务器端的信任连接 API。SQL Server 在 Windows Me 或 Windows 98 上运行时不支持 Windows 身份验证。用户在连接时必须提供 SQL Server 登录帐户。当 SQL Server 在 Windows NT 或 Windows 2000 上运行时,Windows Me、Windows 98 和 Windows 95 客户端可以使用 Windows 2000 身份验证与其连接。

解决方案 »

  1.   

    --創建鏈結伺服器
    exec sp_addlinkedserver  'srv_lnk','','SQLOLEDB','遠端伺服器名或ip位址'
    exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'用戶名','密碼'--查詢示例
    select * from srv_lnk.資料庫名.dbo.表名--導入示例
    select * into 表 from srv_lnk.資料庫名.dbo.表名--處理完成後刪除鏈結伺服器
    exec sp_dropserver 'srv_lnk','droplogins'
    --如果只是臨時訪問,可以直接用openrowset
    --查詢示例
    select * from openrowset('SQLOLEDB'
    ,'sql伺服器名';'用戶名';'密碼'
    ,資料庫名.dbo.表名)