Aliases de conexion en SQL Server

Posted by Gabriel on July 11th, 2009

Un Alias de SQL es un nombre alternativo que se utiliza para realizar una conexion a un servidor de SQL Server. El alias encapsula los elementos requeridos de un string de conexion (como protocolo, puerto, hostname o ip), y los encapsula con un nombre escogido por el usuario.

El alias de SQL es algo similar o equivalente a un ODBC para Windows, excepto que el alcance del alias es solamente en aplicaciones relacionadas con SQL, es decir, no podríamos hacer un ping al alias desde una ventana de DOS.

En algunos comentarios leí que si en el campo de Server Name utilizamos el numero de IP directamente, en lugar del hostname (reverse DNS), podemos agilizar un poco la conexion debido al ahorro del dns lookup.

Ahora si, hay dos maneras de agregar un Alias de SQL:

  1. SQL Server Client Network Utility (cliconfg)
  2. SQL Server Configuration Manager

Por simplicidad yo siempre uso la primera, cliconfg. Los pasos para agregar un alias usando la Client Network Utility son:

  1. Start -> Run
  2. Teclear “cliconfg” -> Enter
  3. Ir al tab de Alias “Add
  4. LLenar los datos (Server Alias, Protocolo, etc)
  5. Click en OK.

Figura 1: Dialogo principal de la SQL Server Client Network Utility

SQL Server Client Network Utility (cliconfg)

SQL Server Client Network Utility (cliconfg)

Figura 2: Dialogo de Nuevo Alias de la SQL Server Client Network Utility

Nuevo SQL Alias usando cliconfg

Nuevo SQL Alias usando cliconfg

El ejecutable cliconfg.exe está en el directorio de Windows\System32, y como el folder de System32 está en las variables de ambiente de Windows, podemos simplemente teclear el nombre del ejecutable desde cualquier lugar y lo reconocerá. Cliconfg.exe viene pre-instalado desde Windows 2000, así que nos permite agregar aliases de SQL sin instalar las SQL Server Client Tools.

La segunda manera de consultar los Aliases existentes, y de agregar nuevos, es usando el SQL Server Configuration Manager.

Para acceder al SSCM los pasos son:

  1. Start – > Run.
  2. Teclear “compmgmt.msc” -> Enter.
  3. En el arbol del lado izquierdo, escoger “Services and Applications“.
  4. Escoger “SQL Server Configuration Manager“.
  5. Escoger “SQL Native Client Configuration“.
  6. Escoger “Aliases“.

Figura 3: Pantalla principal del SQL Server Configuration Manager

SQL Server Configuration Management  - Aliases

SQL Server Configuration Management - Aliases

Para agregar un alias nuevo usando el SQL Server Configuration Manager, simplemente hay que escoger la opcion “New Alias” del menú “Action“, y llenar los datos del diálogo.

Figura 4: Dialogo de Nuevo Alias usando SQL Server Configuration Manager

Nuevo Alias SLQ usando SQL Server Configuration Manager

Nuevo Alias SLQ usando SQL Server Configuration Manager

Por cierto, la unica ventaja del SQL Server Configuration Manager sobre la Client Network Utility, es que permite exportar la lista de Aliases a un archivo de texto, a través del menú “Action“, escogiendo “Export List“.

Una vez agregado el alias, podemos utilizarlo en el dialogo de conexion del SQL Server Management Studio, por ejemplo, y solamente teclear el nombre del alias, en lugar del hostname o ip y el puerto, en caso de que antes fuera requerido.

Error de instalacion de SQL Server 2008 Express

Posted by Gabriel on April 12th, 2009
Microsoft SQL Server 2008

Microsoft SQL Server 2008 Express

Varias personas se han topado un error de instalación de SQL Server 2008 Express, la version gratis de SQL Server, ya que en la etapa de Installation Rules, el renglon de “Previous releases of Microsoft Visual Studio 2008″ tiene un estatus de Failed.

Al parecer, hay algunos fixes que implican desinstalar Visual Studio 2008 y demás, pero algún conocedor de instaladores (probablemente alguien interno de Microsoft) dió a conocer que existen argumentos que se pueden pasar al .exe del instalador, si se ejecuta por command-line, para sobrepasar algunas de las Installation Rules.

El comando para sobrepasar la regla de instancias de Visual Studio 2008 sería:

setup.exe /ACTION=install /SkipRules=VSShellInstalledRule

Con esto, se puede instalar Microsoft SQL Server 2008 Express sin ningun problema, a pesar de ya tener instalado el Visual Studio 2008.

Espero les sirva.

E-book (libro) gratis de C#

Posted by Gabriel on April 11th, 2009
Ebook gratis de C# - Illustrated C# 2008

Ebook gratis de C# - Illustrated C# 2008

La compañia RedGate, que creó los increíbles productos SQL Compare y SQL Prompt, entre otros, publicó esta semana un ebook (o libro electronico) de C# llamado Illustrated C# 2008, que está enfocado a desarrolladores completamente nuevos o que tienen un background de C++ o VB y que quieren migrar a C#.

RedGate es la misma compañía que ahora es dueña del .NET Reflector, creado originalmente por Lutz Roeder.

El autor del ebook es Daniel Solis.

Pagina del Ebook Ilustrated C# 2008

Link directo a bajar el Ebook Ilustrated C# 2008

Como obtener el valor default de una columna en SQL Server usando T-SQL

Posted by Gabriel on February 11th, 2009
SQL Server

SQL Server

Hoy alguien de mi equipo de trabajo me preguntó como se podía comparar los valores de una columna para cada row contra el valor default de esa columna.

Después de probar un rato en el Management Studio, aprendí que se puede utilizar las vistas de INFORMATION_SCHEMA para obtener información de metadata sobre objetos en SQL Server.

Solo para aclarar…esto seguramente se puede hacer usando la tabla sysobjects de SQL Server, pero quería hacerlo de una manera más legible.

El query para obtener el valor default de una columna de alguna tabla es:


SELECT COLUMN_DEFAULT
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'Vendedor'
AND COLUMN_NAME = 'CodigoPais'

Un dato muy importante es que estas vistas (INFORMATION_SCHEMA) se crearon para apegarse al estándar SQL-92, con el objetivo de proveer meta-datos sobre los objetos de la base de datos.

Me dió gusto el haber investigado otra alternativa a sysobjects, porque esta investigación me hizo darme cuenta que el realizar mis queries para obtener meta-data usando INFORMATION_SCHEMA en lugar de SYSOBJECTS hace que mis queries sean portables, en lugar de estar limitados a SQL Server solamente, o incluso considerando también el escenario en que Microsoft decidiera cambiar la estructura de SYSOBJECTS de alguna manera que afectara mis queries.

Hay varias vistas de INFORMATION_SCHEMA. Para este escenario solo usé la de Columns, pero hay más, por ejemplo:

  • CHECK_CONSTRAINTS
  • REFERENTIAL_CONSTRAINTS
  • COLUMN_DOMAIN_USAGE
  • ROUTINES
  • COLUMN_PRIVILEGES
  • ROUTINE_COLUMNS
  • COLUMNS
  • SCHEMATA
  • CONSTRAINT_COLUMN_USAGE
  • TABLE_CONSTRAINTS
  • CONSTRAINT_TABLE_USAGE
  • TABLE_PRIVILEGES
  • DOMAIN_CONSTRAINTS
  • TABLES
  • DOMAINS
  • VIEW_COLUMN_USAGE
  • KEY_COLUMN_USAGE
  • VIEW_TABLE_USAGE
  • PARAMETERS
  • VIEWS

Les dejo la siguiente liga a un artículo del SQL Server Development Center de Microsoft, donde explican más detalles de las vistas de INFORMATION_SCHEMA, y a otro artículo que da información general referente a estas.

INFORMATION_SCHEMA Views

INFORMATION_SCHEMA – A map to your database


Copyright © 2007 Gabriel Rodriguez Plancarte. All rights reserved.