SQL遠程連接
一.添加遠程連接
EXEC sp_addlinkedserver @server = ‘254‘, @srvproduct = ‘‘,--鏈接服務器的 OLE DB 數據源的產品名稱
@provider = ‘SQLOLEDB‘, @datasrc = ‘192.168.1.254‘;
[ @server= ] ‘server‘
要創建的鏈接服務器的名稱。 server 的數據類型為 sysname,無默認值。
[ @srvproduct= ] ‘product_name‘
要添加為鏈接服務器的 OLE DB 數據源的產品名稱。 庫是nvarchar (128),默認值為 NULL。 如果SQL Server
[ @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= ] ‘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
二.添加遠程登錄
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[email protected] 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遠程連接