我想在 MS SQL Server 2000 中创建一个到运行在端口 x 上(而不是默认端口1433)的 MS SQL 2005 Server 的 Linked Server,但它无法工作,因为我无法在任何地方指定端口!
使用 sqlcmd(指定端口 x),我可以连接到服务器,但我无法将其设置为 Linked Server。
如何才能做到这一点?
我想在 MS SQL Server 2000 中创建一个到运行在端口 x 上(而不是默认端口1433)的 MS SQL 2005 Server 的 Linked Server,但它无法工作,因为我无法在任何地方指定端口!
使用 sqlcmd(指定端口 x),我可以连接到服务器,但我无法将其设置为 Linked Server。
如何才能做到这一点?
另一种实现方法(假设您已经在SQL Server中设置了8080)是使用以下代码:
EXEC sp_addlinkedserver 'myserver', '', 'SQLNCLI', 'xx.xx.xx.xx,8080'
EXEC sp_addlinkedsrvlogin 'myserver', 'FALSE', NULL, 'user', 'pwd'
Data Source=192.168.1.100,1433;Network Library=DBMSSOCN;Initial Catalog=yourdbname;User ID=username;Password=password;
将IP和“1433”替换为您的IP地址和端口号。
有关连接字符串的更多信息:http://support.microsoft.com/kb/238949
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'