SQLServer2008新实例远程数据库链接问题(sp_addlinkedserver)
作者:mrr 发布时间:2024-01-19 23:44:22
先说说问题起因:
测试同学在自己电脑上测试不同的后台,但数据库使用的是相同的名称。
于是创建了新的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),希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
来源:http://www.2cto.com/database/201705/639710.html


猜你喜欢
- 对于html中的一些元素注册事件的方式有多种 第一种: <script> function test() { alert(&qu
- 以前看过几个JS代码格式的,自己也来写了一个,呵呵,优点是可以处理超长的 JS 而不会死机.........IE Only运行代码框<
- 前言:pandas中排序的几种常用方法,主要包括sort_index和sort_values。基础数据:import pandas as p
- 方法import pandas as pdimport numpy as npimport seaborn as snsdf = pd.Da
- Python 文件操作的详解及实例一、文件操作1、对文件操作流程打开文件,得到文件句柄并赋值给一个变量通过句柄对文件进行操作关闭文件现有文件
- 使用python3调用wxpy模块,监控linux日志并定时发送消息给群组或好友,具体代码如下所示:#!/usr/bin/env pytho
- 本文实例讲述了Ubuntu下使用Python实现游戏制作中的切分图片功能。分享给大家供大家参考,具体如下:why拿到一个人物行走的素材,要用
- 简单用py写了一个贪吃蛇游戏,有单人、双人模式,比较简单,适合初学者练手。基本上每行重要的语句都有注释,做了什么事一目了然这里先介绍单人模式
- 现象:生产中心进行拷机任务下了300个任务,过了一阵时间后发现任务不再被调度起来,查看后台日志发现日志输出停在某个时间点。分析:1、首先确认
- QSpinBox 是一个计数器控件,允许用户选择一个整数值,通过单击向上/向下按钮或按键盘上的上/下箭头来增加/减少当前显示的值,当然用户也
- icon可以用多个软件制作,也可以通过一些网站把普通图片转换为.ico文件,但通常存在的问题是图片本该透明的地方经转换后变为了黑色或者白色,
- 喜欢Gucci的优雅吗?或者痴迷美国普普艺术?谷歌中国最近改版的谷歌个性化首页iGoogle集中了近1500个主题,包括近120多位全球顶级
- CSS2.1 中规定了关于 CSS 规则 Specificity(特异性)的计算方式,用一个四位的数
- 下面是用SA-FileUp组件上传一个HTML文件的程序:fileup.htm < HTM
- 前言在写 python 程序的时候,经常会用到引入其他文件夹里的 py 文件,要是都在同目录下直接 import 就好了,可是有的不在同一个
- 因为正则不够完善,所以代码中不能直接出现 <? 和 ?>如果是字符串,可以拆开写 "<" + &quo
- 我们再用Jupyter-notebook,ipython-console,qtconsole的时候,有的时候画图希望不弹出窗口,直接画在co
- 概念如果索引包含所有满足查询需要的数据的索引成为覆盖索引(Covering Index),也就是平时所说的不需要回表操作判断标准使用expl
- 前言:数据的排序是比较常用的操作,DataFrame 的排序分为两种,一种是对索引进行排序,另一种是对值进行排序,接下来就分别介绍一下。1.
- 函数的必选参数,指的是函数调用的时候必须传入的参数import mathdef cal (n): return n * nvar