我想创建MS SQL Server 2000中的链接服务器来运行在端口x(不是默认端口1433),一个MS SQL 2005服务器。 但是,这是行不通的,因为我不能在任何地方指定端口!?
使用SQLCMD(指定端口x),我可以连接到服务器没有问题 - 但我不能将它设置为链接服务器。
如何才能做到这一点?
我想创建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和端口号更换IP和“1433”。
连接字符串的详细信息: http://support.microsoft.com/kb/238949
另一种方式来实现这一目标(假设你已经在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本机客户端10.0配置”中的步骤(减去“32位”文本))
添加一个别名,这种方式让我添加链接的服务器与服务器类型为“SQL服务器”,而无需配置提供商选项等
需要注意的是4部查询将类似于此:
SELECT * FROM [SQLSERVER,14333].[DATABASE].[dbo].[Table1]
我不得不这样做今天以及(添加非默认端口的链接服务器)。 在我的情况下,它是将一个SQL Server 2014服务器连接到SQL Server 2016年
使用SQL Server Management Studio的步骤:
使用这种格式的链接服务器ip-address-of-linked-server\instance-name,non-default-port
或192.168.10.5\dev-sql,25250
。 如果该实例不是目标链接服务器上的默认实例的实例名称时,才需要。 此外,您还可以,如果链接服务器是本地网络上替代由主机名的IP地址。
选择SQL Server的服务器类型
使用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'