如何使用非默认端口创建链接服务器
我想在MS SQL Server 2000中创建链接服务器到运行在端口x(不是默认端口1433)上的MS SQL 2005服务器。但它不起作用,因为我无法在任何地方指定端口!?如何使用非默认端口创建链接服务器
使用sqlcmd(指定端口x),我可以毫无问题地连接到服务器 - 但我无法将其设置为链接服务器。
这怎么办?
在新的链接服务器对话框中,选择“其他数据源”,选择“Microsoft OLE DB提供程序SQL Server”作为您的供应商的名称,然后用这个作为你的供应商字符串:
Data Source=192.168.1.100,1433;Network Library=DBMSSOCN;Initial Catalog=yourdbname;User ID=username;Password=password;
更换IP和“1433”与您的IP和端口号。在连接字符串
另一种方式来实现这一目标(假设你已经在SQL Server中建立8080)是用下面的代码:
EXEC sp_addlinkedserver 'myserver', '', 'SQLNCLI', 'xx.xx.xx.xx,8080'
EXEC sp_addlinkedsrvlogin 'myserver', 'FALSE', NULL, 'user', 'pwd'
基于巴蒂尔的建议,添加一个别名为我工作。
(SQL Server 2008 R2中):
- 打开SQL Server配置管理器
- 展开 “SQL Server配置管理(本地)”
- 展开 “SQL Native Client的10.0配置(32位)”
- 点击“别名”,在右侧的别名列表
- 单击鼠标右键,选择“新建别名”
- “别名”是什么ÿ你想参考链接的服务器。
- “端口号”是您的非默认端口。
- “协议”取决于,但您最有可能将其保留为“TCP/IP”。
- “服务器”是您尝试连接到的服务器的地址(不包括端口)。
(重复“SQL本机客户端10.0配置”(减去了“32位”文本)中的步骤)
添加一个别名,这种方式让我添加链接的服务器与服务器类型为“SQL服务器”,而无需配置提供期权等
注意4部分查询将类似于此:
SELECT * FROM [SQLSERVER,14333].[DATABASE].[dbo].[Table1]
我不得不这样做今天以及(添加链接的服务器使用非默认港口)。就我而言,它是将SQL Server 2014链接服务器添加到SQL Server 2016。
步骤,使用SQL Server Management Studio中:
- 打开SSMS并转到服务器对象>链接服务器>新建链接服务器
使用这种格式的链接服务器
ip-address-of-linked-server\instance-name,non-default-port
或192.168.10.5\dev-sql,25250
。仅当实例不是目标链接服务器上的默认实例时才需要实例名称。此外,如果链接的服务器位于本地网络上,则可以通过主机名替换IP地址。对于服务器类型选择SQL Server添加使用的安全选项卡
- 查询使用就像SQLDBA指定above格式的新服务器连接所需的任何凭据。
使用T-SQL同一件事:
EXEC master.dbo.sp_addlinkedserver @server = N'192.168.10.5\dev-sql,25250', @srvproduct=N'SQL Server'
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'192.168.10.5\dev-sql,25250',@useself=N'False',@locallogin=NULL,@rmtuser=N'my_username',@rmtpassword='my_pswd'
这将工作!你知道是否有一种方法可以使用SQLNCLI提供程序进行这项工作? – mjv 2009-09-18 15:51:43
我没有尝试过自己,但你可以尝试使用“SQL Server配置管理器”创建一个别名,在那里定义IP和端口号。然后在你的SQLNCLI连接字符串中使用该别名。缺点是每个客户端机器都需要这样做。如果它只是两个链接的服务器,它应该可以工作。 – 2009-09-18 16:06:54