首页 > 代码库 > SQL远程连接

SQL远程连接

一.添加远程连接
EXEC sp_addlinkedserver @server = ‘254‘, @srvproduct = ‘‘,--链接服务器的 OLE DB 数据源的产品名称
    @provider = ‘SQLOLEDB‘, @datasrc = http://www.mamicode.com/‘192.168.1.254‘;

[ @server= ] server
要创建的链接服务器的名称。 server 的数据类型为 sysname,无默认值。

[ @srvproduct= ] product_name
要添加为链接服务器的 OLE DB 数据源的产品名称。 nvarchar (128),默认值为 NULL。 如果SQL Serverprovider_namedata_source位置provider_string,和目录无需指定。

[ @provider= ] provider_name
与此数据源对应的 OLE DB 访问接口的唯一编程标识符 (PROGID)。 provider_name必须是唯一的当前计算机上安装指定的 OLE DB 提供程序。 provider_namenvarchar (128),默认值为 NULL; 但是,如果provider_name是省略,则使用 SQLNCLI。 (使用 SQLNCLI 并且 SQL Server 将重定向到 SQL Server Native Client OLE DB 访问接口的最新版本。)OLE DB 访问接口应以指定的 PROGID 在注册表中注册。

[ @datasrc=http://www.mamicode.com/ ] data_source
由 OLE DB 访问接口解释的数据源的名称。 data_sourcenvarchar (4000)data_source作为要初始化的 OLE DB 访问接口的 DBPROP_INIT_DATASOURCE 属性传递。

[ @location= ] location
由 OLE DB 访问接口解释的数据库的位置。 位置nvarchar (4000),默认值为 NULL。 位置作为要初始化的 OLE DB 访问接口的 DBPROP_INIT_LOCATION 属性传递。

[ @provstr= ] provider_string
OLE DB 访问接口特定的连接字符串,它可标识唯一的数据源。 provider_stringnvarchar (4000),默认值为 NULL。 provstr传递给 IDataInitialize,或者设置为 DBPROP_INIT_PROVIDERSTRING 属性来初始化 OLE DB 访问接口。
二.添加远程登录
EXEC sp_addlinkedsrvlogin
    ‘254‘, --被访问的服务器别名
    ‘false‘,
    NULL,
    ‘dev‘, --帐号
    ‘hello123‘;--密码
    GO

[ @rmtsrvname = ] rmtsrvname
应用登录映射的链接服务器的名称。 rmtsrvnamesysname,无默认值。

[ @useself = ] TRUE |‘FALSE‘ |‘ NULL‘
确定是否连接到rmtsrvname通过模拟本地登录名或显式提交登录名和密码。 数据类型是varchar (8),默认值为 TRUE。

值为 TRUE 指定登录名使用其自己的凭据来连接到rmtsrvname,与rmtuserrmtpassword自变量被忽略。 FALSE 指定rmtuserrmtpassword参数用于连接到rmtsrvname指定locallogin。 如果rmtuserrmtpassword也是设置为 NULL,任何登录名或密码用于连接到链接服务器。

[ @locallogin = ] locallogin
本地服务器上的登录。 localloginsysname,默认值为 NULL。 NULL 指定此项适用于所有连接到的本地登录名rmtsrvname。 如果不为 NULL, locallogin可以是SQL Server登录名或 Windows 登录名。 对于 Windows 登录来说,必须以直接的方式或通过已被授权访问的 Windows 组成员身份授予其访问 SQL Server 的权限。

[ @rmtuser = ] rmtuser
是用于连接到的远程登录名rmtsrvname时@useself为 FALSE。 远程服务器时的实例SQL Server不使用 Windows 身份验证, rmtuser是SQL Server登录名。 rmtusersysname,默认值为 NULL。

[ @rmtpassword = ] rmtpassword
密码相关联rmtuserrmtpasswordsysname,默认值为 NULL

三.OPENQUERY远程函数引用及参数传值
SELECT  * FROM   OPENQUERY([254], ‘ SELECT * from agency0901.[dbo].func_JiJiaWebSync_GetPropertyList(‘‘‘‘,‘‘2017-5-24‘‘, 0)‘);    

SQL远程连接