2009-09-18 14 views
10

Quiero crear un servidor vinculado en MS SQL Server 2000 a un servidor MS SQL 2005 que se ejecute en el puerto x (no en el puerto predeterminado 1433). Pero no funciona, ya que no puedo especificar el puerto en ninguna parte?Cómo crear un servidor vinculado con un puerto no predeterminado

Utilizando sqlcmd (especificando el puerto x), puedo conectarme al servidor sin problemas, pero no puedo configurarlo como servidor vinculado.

¿Cómo se puede hacer esto?

Respuesta

6

En el cuadro de diálogo de servidor vinculado nuevo, elegir la opción "Otra fuente de datos", seleccione "Proveedor Microsoft OLE DB para SQL Server", como el nombre del proveedor, a continuación, utilizar esto como su cadena de proveedor:

Data Source=192.168.1.100,1433;Network Library=DBMSSOCN;Initial Catalog=yourdbname;User ID=username;Password=password; 

Vuelva a colocar la IP y "1433" con su IP y número de puerto.

Más información sobre las cadenas de conexión: http://support.microsoft.com/kb/238949

+0

que funcionaría! ¿Sabes sin embargo que hay una forma de hacer que esto funcione con el proveedor SQLNCLI? – mjv

+1

No lo he intentado solo, pero podría intentar usar el "Administrador de configuración de SQL Server" para crear un alias, definir el IP y el número de puerto allí. Luego use ese alias en su cadena de conexión SQLNCLI. La desventaja es que cada máquina cliente debería tener esto. Si solo son dos servidores vinculados, debería funcionar. –

7

Otra manera de lograr esto (suponiendo que haya establecido 8080 en SQL Server) es con el siguiente código:

EXEC sp_addlinkedserver 'myserver', '', 'SQLNCLI', 'xx.xx.xx.xx,8080' 

EXEC sp_addlinkedsrvlogin 'myserver', 'FALSE', NULL, 'user', 'pwd' 
6

Sobre la base de la sugerencia de Shane, agregando un alias trabajado para mí.

(SQL Server 2008 R2):

  • Abrir configuración de SQL Server
  • Ampliar el "Administrador de configuración de SQL Server (local)"
  • Expand "10.0 Configuración de SQL Native Client (32 bits)"
  • clic "alias"
  • Haga clic derecho en la lista de alias del lado derecho, y seleccione "Nuevo alias"
  • "alias" es cualquier cosa y Quieres hacer referencia al servidor vinculado como.
  • "Puerto No" es su puerto no predeterminado.
  • "Protocolo" depende, pero lo más probable es que deje esto como "TCP/IP".
  • "Servidor" es la dirección del servidor al que está intentando conectarse (sin incluir el puerto).

(repita los pasos para "SQL Native Client 10.0 Configuración" (menos el texto 'de 32 bits'))

Adición de un alias de esta manera me ha permitido añadir un servidor vinculado con el tipo de servidor como "SQL servidor", sin tener que configurar opciones de proveedores, etc.

0

Tenga en cuenta que las consultas de 4 partes tendrán un aspecto similar a este:

SELECT * FROM [SQLSERVER,14333].[DATABASE].[dbo].[Table1] 
0

que tenía que hacer esto hoy también (añadir un servidor vinculado con no predeterminado Puerto). En mi caso, estaba agregando un servidor vinculado de SQL Server 2014 a SQL Server 2016.

pasos utilizando SQL Server Management Studio:

  1. SSMS, y va a objetos de servidor del servidor vinculado>> Nuevo servidor vinculado
  2. Utilice este formato para el servidor vinculado ip-address-of-linked-server\instance-name,non-default-port o, 192.168.10.5\dev-sql,25250. El nombre de la instancia solo es necesario si esa instancia no es la instancia predeterminada en el servidor vinculado al destino. Además, puede reemplazar la dirección IP por nombre de host si el servidor vinculado está en su red local.

  3. Seleccione SQL Server para el tipo de servidor

  4. Añadir las credenciales necesarias para conectarse a través de la pestaña de Seguridad
  5. Consulta el nuevo servidor con el formato especificado al igual que SQLDBA above.

example screenshot

Lo mismo utilizando 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'

Cuestiones relacionadas