ho dovuto fare questo anche oggi (aggiungere un server collegato con non predefinito porta). Nel mio caso si stava aggiungendo un server collegato a SQL Server 2014 a SQL Server 2016.
passaggi utilizzando SQL Server Management Studio:
- Aperte SSMS e andare a oggetti server> Linked Server> Nuovo server collegato
Utilizzare questo formato per il server collegato ip-address-of-linked-server\instance-name,non-default-port
o, 192.168.10.5\dev-sql,25250
. Il nome dell'istanza è richiesto solo se quell'istanza non è l'istanza predefinita sul server collegato alla destinazione. Inoltre, è possibile sostituire l'indirizzo IP in base al nome host se il server collegato si trova sulla rete locale.
Selezionare SQL Server per Server Tipo
- Aggiungi eventuali credenziali richieste per la connessione utilizzando la scheda Protezione
- Query il nuovo server utilizzando il formato proprio come SQLDBA specificato above.
stessa cosa usando 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'
che avrebbe funzionato! Sai però c'è un modo per farlo funzionare con il provider SQLNCLI? – mjv
Non l'ho provato da solo, ma è possibile provare a utilizzare "Gestione configurazione server SQL" per creare un alias, definire l'IP e il numero di porta lì. Quindi utilizzare quell'alias nella stringa di connessione SQLNCLI. Il rovescio della medaglia è che ogni macchina client dovrebbe avere questo. Se sono solo due server collegati, dovrebbe funzionare. –