我想在MS SQL Server 2000中创建一个链接服务器到MS SQL 2005 Server,该服务器在端口x上运行(不是默认端口1433)。但它不起作用,因为我无法在任何地方指定端口!?
使用sqlcmd(指定端口x),我可以毫无问题地连接到服务器 - 但我无法将其设置为链接服务器。
如何做到这一点?
答案 0 :(得分:9)
实现此目的的另一种方法(假设您已在SQL Server中设置了8080)使用以下代码:
EXEC sp_addlinkedserver 'myserver', '', 'SQLNCLI', 'xx.xx.xx.xx,8080'
EXEC sp_addlinkedsrvlogin 'myserver', 'FALSE', NULL, 'user', 'pwd'
答案 1 :(得分:7)
在新的链接服务器对话框中,选择“其他数据源”,选择“Microsoft OLE DB Provider for 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
答案 2 :(得分:7)
根据Shane的建议,添加别名对我有用。
(SQL Server 2008 R2):
(重复“SQL Native Client 10.0配置”(减去“32位”文本))
的步骤以这种方式添加别名允许我添加服务器类型为“SQL Server”的链接服务器,而无需配置提供程序选项等。
答案 3 :(得分:0)
请注意,4部分查询与此类似:
SELECT * FROM [SQLSERVER,14333].[DATABASE].[dbo].[Table1]
答案 4 :(得分:0)
我今天也必须这样做(添加一个非默认端口的链接服务器)。在我的例子中,它是将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'