国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

SQLServer2008新實例遠程數據庫鏈接問題(sp_addlinkedserver)

2024-08-31 01:04:54
字體:
來源:轉載
供稿:網友

先說說問題起因:

測試同學在自己電腦上測試不同的后臺,但數據庫使用的是相同的名稱。

于是創建了新的SQL Server實例,而新實例需要指定不同端口才能啟動,改端口后執行sp_addlinkedserver語句后,連接測試不成功。

執行的SQL語句如下:

EXEC master.dbo.sp_addlinkedserver @server = N'UserDBLink', @srvproduct=N'UserDBLink', @provider=N'SQLNCLI', @datasrc=N'(LOCAL)', @catalog=N'UsersDB' /* For security reasons the linked server remote logins password is changed with ######## */EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'UserDBLink',@useself=N'True',@locallogin=NULL,@rmtuser=NULL,@rmtpassword=NULL

先說下問題的解決方案,需要在@datasrc字串中加入端口號,如下:

@datasrc=N'(LOCAL)'修改為@datasrc=N'(LOCAL),端口號'

很簡單吧!但,但,但確查了好久,最后還是想到程序中連接字符串用法,才解決了該問題。
程序中鏈接串是這樣的

Provider=SQLOLEDB.1;Password=11;Persist Security Info=True;User ID=sa;Initial Catalog=db;Data Source=127.0.0.1,1433;

在查找問題過程中,查了MSDN文檔,居然沒有寫新端口的寫法,難怪該妹妹折騰了好久!,大家幫我看看,難道我錯怪MSDN了嘛!!!

這是鏈接:https://msdn.microsoft.com/zh-cn/library/ms190479.aspx

這是我復制的MSDN描述

sp_addlinkedserver [ @server= ] 'server' [ , [ @srvproduct= ] 'product_name' ]     [ , [ @provider= ] 'provider_name' ]    [ , [ @datasrc= ] 'data_source' ]     [ , [ @location= ] 'location' ]     [ , [ @provstr= ] 'provider_string' ]     [ , [ @catalog= ] 'catalog' ]

參數:

[ @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= ] '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 訪問接口。
針對創建鏈接的服務器時SQL ServerNative Client OLE DB 提供程序,可以使用服務器 SERVER 關鍵字指定實例 =servername/instancename指定的特定實例SQL Server。 servername是在其上的計算機的名稱SQL Server正在運行,和instancename是的特定實例的名稱SQL Server用戶將連接到。 

[ @catalog= ] 'catalog'

與 OLE DB 訪問接口建立連接時所使用的目錄。 目錄是sysname,默認值為 NULL。 目錄作為要初始化的 OLE DB 訪問接口的 DBPROP_INIT_CATALOG 屬性傳遞。 在針對 SQL Server 實例定義鏈接服務器時,目錄指向鏈接服務器映射到的默認數據庫。

以上所述是小編給大家介紹的SQLServer2008新實例遠程數據庫鏈接問題(sp_addlinkedserver),希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!


注:相關教程知識閱讀請移步到MSSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 台中市| 西乡县| 剑川县| 阜南县| 鄂托克旗| 玉树县| 法库县| 古浪县| 汝州市| 秦安县| 黄山市| 从化市| 深圳市| 滨州市| 崇义县| 巴林左旗| 新竹县| 三河市| 五台县| 宕昌县| 谢通门县| 施甸县| 高阳县| 临海市| 安多县| 牡丹江市| 甘谷县| 留坝县| 巨野县| 安顺市| 德格县| 山丹县| 安塞县| 吉安市| 阿勒泰市| 印江| 革吉县| 达拉特旗| 武邑县| 静海县| 靖宇县|