首页 > 代码库 > 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 Server, provider_name, data_source,位置, provider_string,和目录无需指定。
[ @provider= ] ‘provider_name‘
与此数据源对应的 OLE DB 访问接口的唯一编程标识符 (PROGID)。 provider_name必须是唯一的当前计算机上安装指定的 OLE DB 提供程序。 provider_name是nvarchar (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_source是nvarchar (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_string是nvarchar (4000),默认值为 NULL。 provstr传递给 IDataInitialize,或者设置为 DBPROP_INIT_PROVIDERSTRING 属性来初始化 OLE DB 访问接口。
二.添加远程登录
EXEC sp_addlinkedsrvlogin
‘254‘, --被访问的服务器别名
‘false‘,
NULL,
‘dev‘, --帐号
‘hello123‘;--密码
GO
[ @rmtsrvname = ] ‘rmtsrvname‘
应用登录映射的链接服务器的名称。 rmtsrvname是sysname,无默认值。
[ @useself = ] ‘TRUE‘ |‘FALSE‘ |‘ NULL‘
确定是否连接到rmtsrvname通过模拟本地登录名或显式提交登录名和密码。 数据类型是varchar (8),默认值为 TRUE。
值为 TRUE 指定登录名使用其自己的凭据来连接到rmtsrvname,与rmtuser和rmtpassword自变量被忽略。 FALSE 指定rmtuser和rmtpassword参数用于连接到rmtsrvname指定locallogin。 如果rmtuser和rmtpassword也是设置为 NULL,任何登录名或密码用于连接到链接服务器。
[ @locallogin = ] ‘locallogin‘
本地服务器上的登录。 locallogin是sysname,默认值为 NULL。 NULL 指定此项适用于所有连接到的本地登录名rmtsrvname。 如果不为 NULL, locallogin可以是SQL Server登录名或 Windows 登录名。 对于 Windows 登录来说,必须以直接的方式或通过已被授权访问的 Windows 组成员身份授予其访问 SQL Server 的权限。
[ @rmtuser = ] ‘rmtuser‘
是用于连接到的远程登录名rmtsrvname时@useself为 FALSE。 远程服务器时的实例SQL Server不使用 Windows 身份验证, rmtuser是SQL Server登录名。 rmtuser是sysname,默认值为 NULL。
[ @rmtpassword = ] ‘rmtpassword‘
密码相关联rmtuser。 rmtpassword是sysname,默认值为 NULL
三.OPENQUERY远程函数引用及参数传值
SELECT * FROM OPENQUERY([254], ‘ SELECT * from agency0901.[dbo].func_JiJiaWebSync_GetPropertyList(‘‘‘‘,‘‘2017-5-24‘‘, 0)‘);
SQL远程连接