程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> MSSQL >> SQL Server 近程銜接服務器詳細配置(sp_addlinkedserver)

SQL Server 近程銜接服務器詳細配置(sp_addlinkedserver)

編輯:MSSQL

SQL Server 近程銜接服務器詳細配置(sp_addlinkedserver)。本站提示廣大學習愛好者:(SQL Server 近程銜接服務器詳細配置(sp_addlinkedserver))文章只能為提供參考,不一定能成為您想要的結果。以下是SQL Server 近程銜接服務器詳細配置(sp_addlinkedserver)正文


近程鏈接服務器詳細配置

--樹立銜接服務器
EXEC sp_addlinkedserver '近程服務器IP','SQL Server'
--標注存儲
EXEC sp_addlinkedserver
@server = 'server', --鏈接服務器的本地稱號。也允許運用實例稱號,例如MYSERVER\SQL1
@srvproduct = 'product_name' --OLE DB數據源的產品名。關於SQL Server實例來說,product_name是'SQL Server'
, @provider = 'provider_name' --這是OLE DB訪問接口的獨一可編程標識。當沒有指定它時,訪問接口稱號是 SQL Server數據源。SQL Server顯式的provider_name是 SQLNCLI(Microsoft SQL Native Client OLE DB Provider)。Oracler的是 MSDAORA,Oracle 8或更高版本的是OraOLEDB.Oracle。MS Access和MS Excel的是 Microsoft.Jet.OLEDB.4.0。IBM DB2的是DB2OLEDB,以及ODBC數據源的是MSDASQL
, @datasrc = 'data_source' --這是特定OLE DB訪問接口解釋的數據源。關於SQL Server,這是 SQL Server(servername或servername\instancename)的網絡稱號。關於Oracle,這是SQL*Net別名。關於 MS Access和MSExcel,這是文件的完好途徑和稱號。關於ODBC數據源,這是零碎DSN稱號
, @location = 'location' --由特定OLE DB訪問接口解釋的地位
, @provstr = 'provider_string' --OLE DB 訪問接口特定的銜接字符串。關於ODBC銜接,這是ODBC銜接字符串。關於MS Excel,這是Excel 5.0
, @catalog = 'catalog' --catalog的定義變化基於OLE DB訪問接口的完成。關於SQL Server,這是可選的數據庫稱號,關於DB2,這個目錄是數據庫的稱號


--創立鏈接服務器上近程登錄之間的映射
EXEC sp_addlinkedsrvlogin '近程服務器IP','false','sa','架構名','訪問密碼'
--標注存儲
EXEC sp_addlinkedsrvlogin 
@rmtsrvname = '近程服務器IP', --要添加登錄名映射的本地鏈接服務器
@useself = false, --當運用true值時,運用本地SQL或Windows登錄名銜接到近程服務器名。假如設為false,存儲進程 sp_addlinkedsrvlogin的locallogin、rmtuser和rmtpassword參數將使用到新的映射中
@locallogin = NULL, --這是映射到近程登錄名的SQL Server登錄或Windows用戶的稱號。假如這個參數置為NULL,映射將使用SQL Server實例中的一切本地登錄名
@rmtuser = '架構名', --用來銜接到鏈接服務器的用戶/登錄名的稱號
@rmtpassword = '訪問密碼' --用來銜接到鏈接服務器的用戶/登錄名的密碼

--查詢數據
select top 10 * from [222].pwms.pwms.bas_tb_sku

--檢查鏈接服務器信息
select name,product,provider,data_source,query_timeout,lazy_schema_validation,is_remote_login_enabled,is_rpc_out_enabled
from sys.servers
where is_linked=1

--配置鏈接服務器屬性
exec sp_serveroption '別名','name','近程服務器IP'
--標注存儲
EXEC sp_serveroption 
@server = 'server' --配置屬性的鏈接服務器的稱號
,@optname = 'option_name' --要配置的選項
,@optvalue = 'option_value' --選項的新值
--附參數
參 數 描 述
collation compatible 假如你確認SQL Server實例與近程SQL Server擁有相反的排序規則就啟用這個設置。由於SQL Server不再需求對數據源之間的字符列執行比擬操作,把它們假定為相反的排序規則,這樣做可以提升功能
collation name 假如啟用了use remote collation並且是非SQL Server的數據源,則collation name指定近程服務器排序規則的稱號。這個排序規則稱號必需是SQL Server所支持的
connect timeout 指定在超時發作之前到鏈接服務器的銜接會嘗試多少秒。假如數值為“0”,sp_ configure的remote query timeout的服務器值用來當作默許值
data access 假如啟用,就允許散布式查詢訪問
lazy schema validation 假如設為true,則架構不會在查詢開端時去檢測近程表。雖然這樣會增加近程查詢的負載,但是假如架構發作了變化並且你沒有停止架構檢測,比方說查詢中援用的對象不能與查詢命令停止通訊,就會生成錯誤
query timeout 指定查詢等候的超時值(秒數)。假如這個值為0,則query wait選項運用sp_configure值
rpc 啟用從服務器停止近程進程調用
rpc out 啟用近程進程調用到服務器
use remote collation 指定是運用近程服務器排序規則(true)還是本地服務器排序規則(false)

--刪除鏈接服務器屬性
exec sp_dropserver '4'
--標注存儲
EXEC sp_dropserver
@server = 'server' --從SQL Server實例中刪除的鏈接服務器的稱號
,@droplogins = 'droplogins' --假如指定droplogins,則在刪除鏈接服務器之前要刪除登錄名映射


--檢查鏈接登錄名
select s.name linkedServerName,s.data_source linkedserver_source,s.is_linked,s.modify_date,
ll.remote_name,ll.local_principal_id,ll.uses_self_credential,
p.name localLoginName
from sys.Linked_logins ll
inner join sys.servers s on s.server_id=ll.server_id
left join sys.server_principals p on p.principal_id=ll.local_principal_id
where s.is_linked = 1

--刪除鏈接服務器登錄名映射
exec sp_droplinkedsrvlogin '近程服務器IP',NULL
--標注存儲
EXEC sp_droplinkedsrvlogin 
@rmtsrvname = '近程服務器IP' --登錄名映射的鏈接服務器稱號
@locallogin = NULL --這是從鏈接服務器刪除的SQL Server登錄或Windows用戶映射的稱號

sql

--復雜點為近程機器設置近程鏈接服務器。
--假定近程機器IP為127.0.0.1
--樹立銜接服務器
EXEC sp_addlinkedserver '127.0.0.1','SQL Server'

--創立鏈接服務器上近程登錄之間的映射
EXEC sp_addlinkedsrvlogin '10.0.0.222','false','sa','架構名','密碼'

--查詢數據
select top 10 * from [127.0.0.1].數據庫名.架構名.表名

--檢查鏈接服務器信息
select name,product,provider,data_source,query_timeout,lazy_schema_validation,is_remote_login_enabled,is_rpc_out_enabled
from sys.servers
where is_linked=1

--配置鏈接服務器屬性設置別名
exec sp_serveroption 'remotecmp','name','127.0.0.1'

--查詢數據
select top 10 * from remotecmp.數據庫名.架構名.表名

下面的文章是經過sql自帶的存儲進程完成的,其他的可以參考其他的文章。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved