martes, 1 de marzo de 2005

Conexiones remotas en SQL Server 2005 Express - P1

A quien no le ha salido un error que dice

Error mientras se establecía la conexión con el servidor. Al conectar con SQL Server 2005, el error se puede producir porque la configuración predeterminada de SQL Server no admite conexiones remotas. (provider: Proveedor de canalizaciones con nombre, error: 40 - No se pudo abrir una conexión con SQL Server)

Y otros errores del mismo tipo.

Pues bien esto se debe a que nuestros amigos de Microsoft nos dan un programa configurado por defecto para que no acepte conexiones remotas, afortunadamente esto se puede cambiar y aquí están los pasos para hacerlo.

Antes que nada debo decirles que tengo instalados el “SQL Server 2005 Express”, y el “SQL Server Management Studio Express” además de que estoy trabajando en el “Windows XP Profesional”.



Habilitar conexiones remotas para SQL Server 2005 Developer Edición o SQL Server 2005 Express

Debe habilitar conexiones remotas para cada instancia de SQL Server 2005 que desea conectarse desde un equipo remoto. Para ello, siga estos pasos:

  • Haga clic en Inicio, seleccione Programas, Microsoft SQL Server 2005, Herramientas de configuración y haga clic en Configuración de área de superficie de SQL Server.
  • En la página Configuración de superficie de SQL Server 2005, haga clic en Configuración de superficie para servicios y conexiones.
  • En la página Configuración de superficie para servicios y conexiones, expanda el Motor de base de datos, haga clic en Conexiones remotas, haga clic en Conexiones locales y remotas, haga clic en el protocolo adecuado para habilitar para su entorno y a continuación, haga clic en Aplicar

Nota :Haga clic en Aceptar cuando reciba el mensaje siguiente:
Cambios en la conexión de configuración no tendrán efecto hasta que reinicie el servicio motor de base de datos.
  • En la página Configuración de superficie para servicios y conexiones, expanda Motor de base de datos, haga clic en Servicio, haga clic en Detener, espere hasta que el MSSQLSERVER detiene el servicio y, a continuación, haga clic en Iniciar para reiniciar el servicio MSSQLSERVER.





Habilitar el servicio de SQL Server Browser

Si está ejecutando SQL Server 2005 mediante un nombre de instancia y la cadena de conexión no utiliza un número de puerto TCP/IP específico, debe habilitar el servicio de SQL Server Browser permitir conexiones remotas. Por ejemplo, SQL Server 2005 Express se instala con un nombre de instancia predeterminada de Computer Name\SQLEXPRESS. Sólo se necesita para habilitar el servicio de SQL Server Browser una vez, independientemente de cuántas instancias de SQL Server 2005 se ejecuta. Para habilitar el servicio de SQL Server Browser, siga estos pasos.

Importante: Estos pasos pueden aumentar su riesgo de seguridad. Estos pasos también pueden hacer que su equipo o su red sean más vulnerables a los ataques por usuarios malintencionados o de software malintencionado como virus. Recomendamos el proceso que este artículo se describe a permitir que los programas funcionen como están diseñados o implementar capacidades específicas del programa. Antes de realizarlos, recomendamos que evalúe los riesgos asociados a la implementación de este proceso en su entorno concreto. Si decide implementar este proceso, tome las medidas adicionales oportunas para proteger su sistema. Recomendamos que utilice este proceso sólo si realmente necesita este proceso.
  • Haga clic en Inicio, seleccione Programas, Microsoft SQL Server 2005, Herramientas de configuración y haga clic en Configuración de área de superficie de SQL Server.
  • En la página Configuración de superficie de SQL Server 2005, haga clic en Configuración de superficie para servicios y conexiones.
  • En la página Configuración de superficie para servicios y conexiones, haga clic en SQL Server Browser, haga clic en Automático para el Tipo de inicio y, a continuación, haga clic en Aplicar.
    Nota: Al hacer clic en la opción Automática, el servicio de SQL Server Browser se inicia automáticamente cada vez que inicia Microsoft Windows.


  • Haga clic en Inicio y, a continuación, haga clic en Aceptar.
Nota: Cuando se ejecuta el servicio Explorador de SQL Server en un equipo, el equipo muestra los nombres de instancia y la información de conexión para cada instancia de SQL Server que se ejecuta en el equipo. Puede reducir este riesgo habilitando no el servicio de SQL Server Browser y conectándose a la instancia de SQL Server directamente a través de un puerto TCP asignado. Conectarse directamente a una instancia de SQL Server a través de un puerto TCP está fuera del ámbito de este artículo. Para obtener más información sobre el servidor de SQL Server Browser y conectarse a una instancia de SQL Server, vea los temas siguientes en los libros en pantalla de SQL Server:
  • Servicio SQL Server Browser
  • Conectar el motor de base de datos SQL Server
  • Configuración de red de cliente


Crear excepciones en Firewall de Windows

Estos pasos se aplican a la versión de Firewall de Windows que se incluye en Windows XP Service Pack 2 (SP2) y en Windows Server 2003. Si utiliza un sistema de otro firewall, consulte la documentación firewall para obtener más información.

Si está ejecutando un servidor de seguridad en el equipo que ejecuta SQL Server 2005, las conexiones externas a SQL Server 2005 se bloqueará a menos que SQL Server 2005 y el servicio de SQL Server Browser se pueden comunicar a través del firewall. Debe crear una excepción para cada instancia de SQL Server 2005 que desee que acepte conexiones remotas y una excepción para el servicio Explorador de SQL Server.

SQL Server 2005 utiliza un identificador de instancia como parte de la ruta de acceso al instalar sus archivos de programa. Para crear una excepción para cada instancia de SQL Server, debe identificar el identificador de instancia correcto. Para obtener un identificador de instancia, siga estos pasos:

  • Haga clic en Inicio, seleccione Programas, Microsoft SQL Server 2005, Herramientas de configuración y, a continuación, haga clic en Administrador de configuración de SQL Server.
  • En el Administrador de configuración de SQL Server, haga clic en el servicio de SQL Server Browser en el panel derecho, haga clic con el botón secundario en el nombre de instancia en la ventana principal y, a continuación, haga clic en Propiedades.
  • En la página de Propiedades de explorador de SQL Server, haga clic en la ficha Avanzadas, busque el identificador de instancia en la lista propiedad y, a continuación, haga clic en Aceptar.



Para abrir Firewall de Windows, haga clic en Inicio, haga clic en Ejecutar, escriba firewall.cpl y haga clic en Aceptar.



Crear una excepción para SQL Server 2005 en Firewall de Windows

Para crear una excepción para SQL Server 2005 en Firewall de Windows, siga estos pasos:
  • En Firewall de Windows, haga clic en la ficha Excepciones y, a continuación, haga clic en Agregar programa
  • En la ventana Agregar un programa, haga clic en Examinar.
  • Haga clic en el programa ejecutable C:\Archivos de programa\Microsoft SQL Server\MSSQL.1\MSSQL\Binn\sqlservr.exe, haga clic en Abrir y, a continuación, haga clic en Aceptar.
Nota: La ruta de acceso puede ser diferente dependiendo de dónde está instalado SQL Server 2005. MSSQL.1 es un marcador de posición para el identificador de instancia que obtuvo en el paso 3 del procedimiento anterior.
  • Repita los pasos 1 a 3 para cada instancia de SQL Server 2005 que necesita una excepción.


Crear una excepción para el servicio Explorador de SQL Server en Firewall de Windows

Para crear una excepción para el servicio Explorador de SQL Server en Firewall de Windows, siga estos pasos:
  • En Firewall de Windows, haga clic en la ficha Excepciones y, a continuación, haga clic en Agregar programa.
  • En la ventana Agregar un programa, haga clic en Examinar.
  • Haga clic en el programa ejecutable C:\ Archivos de programa \Microsoft SQL Server\90\Shared\sqlbrowser.exe, haga clic en Abrir y, a continuación, haga clic en Aceptar.
Nota: La ruta de acceso puede ser diferente dependiendo de dónde está instalado SQL Server 2005.

Tomado de:
http://support.microsoft.com/kb/914277

Conexiones remotas en SQL Server 2005 Express - P2

Pues bien, si pensaban que esto era todo… están equivocados, hay algunos pasos adicionales que talvez no tengan que hacer pero que son necesarios para que todo marche bien.



Habilitar el protocolo TCP/IP desde el SQL Server Configuration Manager.
  • Haga clic en Inicio, seleccione Programas, Microsoft SQL Server 2005, Herramientas de configuración y, a continuación, haga clic en Administrador de configuración de SQL Server
  • Expanda Configuración de red de SQL Server 2005 y seleccione Protocolos SQLEXPRESS
  • Haga clic derecho Sobre el Protocolo TCP/IP y acceda a las Propiedades
  • Verifique que en la sección IPALL, Puerto TCP tenga el numero 1433
  • En la pestaña Protocolo verifique que este Habilitado
  • Aceptar los cambios



Habilitar el protocolo VIA desde el SQL Server Configuration Manager.
  • Haga clic en Inicio, seleccione Programas, Microsoft SQL Server 2005, Herramientas de configuración y, a continuación, haga clic en Administrador de configuración de SQL Server.


  • Expanda Configuración de red de SQL Server 2005 y seleccione Protocolos SQLEXPRESS
  • Haga clic derecho Sobre el Protocolo VIA y acceda a las Propiedades
  • Verifique que el Protocolo este Habilitado
  • Verifique que Información de escucha tenga el numero 0:1433
  • Verifique que Puerto predeterminado tenga el numero 0:1433




Crear un usuario con permisos desde el SQL Server Management Studio Express
  • Acceda al SQL Server Management Studio Express mediante Autenticación de Windows

  • En el panel izquierdo expanda Servidor/Seguridad/Inicios de sesion
  • Aceda a las Propiedades del usuario “sa” haciendo clic derecho
  • Proporcione una Contraseña segura
  • Deshabilite Exigir directivas de contraseña si lo cree necesario
  • En la pagina Estado verifique que Inicio de sesión este habilitado
  • En la pagina Estado verifique que Permiso de conexión al motor de base de datos este habilitado




El ultimo paso
  • Acceder a las propiedades del servidor mediante el SQL Server Management Studio Express y donde dice Seguridad en el lado derecho habrá que habilitar Modo de autenticación de Windows y SQL Server




Por ultimo y a manera de ejemplo, ésta fue la cadena de conexión que usé para una red LAN con el Visual Basic .NET 2005

Data Source=127.0.0.1\SQLEXPRESS;Initial Catalog=BasedeDatos;User Id=sa;Password=PASS;