1 0 Archive | MsSQL RSS feed para esta categoría
post icon

Funciones útiles con fechas y horas en SQL Server

Crear un sólo post por cada función útil que podemos tener sobre tipos de datos datetime, date, time, y otros semejantes en SQL Server terminaría en un sin fin de artículos, así que he considerado agrupar varias funciones comunes y casi cotidianas para operar con éstos tipos de datos.

Hay que tener en cuenta que pondré funciones que podrían sólo funcionar desde la versión 2008 en adelante, aunque la mayoría lo hará con versiones anteriores. (Continuar Leyendo sobre Funciones útiles con fechas y horas en SQL Server)

post icon

[TSQL] NVARCHAR vs VARCHAR

Esta es una pregunta muy común entre los que comienzan a utilizar el motor de Microsoft, y no por ello trivial. A muchos le parece trivial, pero en base de datos medianas y grandes puede tener un impacto fuertemente negativo si no se lo utiliza correctamente.

Lo común entre ambos es que son de longitud variable, definidas siempre por un tope máximo. (Continuar Leyendo sobre [TSQL] NVARCHAR vs VARCHAR)

post icon

Restringir conexión a usuarios de SQL Server basados en su IP como en MySQL

Ayer un usuario del foro del MSDN hacía una pregunta más que interesante, como podía crear un modelo de seguridad semejante al que ofrece MySQL de restringir a ciertos usuarios que puedan acceder únicamente desde ciertas direcciones IP, es decir, por más que las credenciales de autenticación (usuario y password) sean válidos, si éstos no se conectan de las direcciones IP permitidas no podrán loguearse a la base de datos.

Lo típico en un ambiente Windows + SQL Server es que las conexiones sean restringidas por direcciones IP desde el Firewall de Windows, pero este sistema carece de la capacidad de detectar que usuarios de base de datos (Continuar Leyendo sobre Restringir conexión a usuarios de SQL Server basados en su IP como en MySQL)

post icon

Como simular las funciones analiticas LAG y LEAD en SQL Server 2005 y 2008

Dos de las nuevas funciones analíticas que introduce SQL Server 2012 son LAG y LEAD que permiten obtener el valor de la fila anterior y posterior respectivamente, ésta función es sumamente útil en operaciones de análisis de datos.

Es realmente sencillo implementarlo en la versión 2012 del motor, si nos fijamos en la documentación de Microsoft podemos ver el ejemplo el cual sería así (utiliza la base de datos AdventureWorks) (Continuar Leyendo sobre Como simular las funciones analiticas LAG y LEAD en SQL Server 2005 y 2008)

post icon

Configurar Linked Server desde SQL Server a Oracle

Tiempo atrás vimos como configurar los servidores vinculados desde SQL Server con MySQL y Firebird hoy nos toca hacerlo con Oracle.

A mi parecer es mucho más sencillo que en los otros casos. Como prerrequisito necesitaremos instalar el cliente de Oracle y configurar el TNS Name, el cual pueden ver aquí como lograrlo.

Una vez configurado lo necesario vamos al SSMS, y preparamos el proveedor OLEDB de ésta manera, habilitando las siguientes opciones (Continuar Leyendo sobre Configurar Linked Server desde SQL Server a Oracle)

post icon

Habilitar e inhabilitar usuarios en SQL Server

Para habilitar o inhabilitar un login especifico en el motor SQL Server es realmente sencillo, y en muchas ocaciones podríamos no necesitar eliminar un login/usuario en concreto ni alterarle los permisos, entonces podemos recurrir a ésta tecnica.

También en el caso especifico del usuario ‘sa‘ no es posible cambiarle los permisos, por lo que es conveniente deshabilitarlo para evitar posible ataques de seguridad. (Continuar Leyendo sobre Habilitar e inhabilitar usuarios en SQL Server)

post icon

Como configurar las transacciones distruibuidas en Windows [MSDTC]

Cuando trabajamos con servidores de bases de datos, configurados como linked server y otros casos similares necesitamos tener correctamente configurado el Coordinador de Transacciones Distribuidas. También pudo ser que llegaste aquí porque te apareció el siguiente error:

El proveedor OLE DB “SQLNCLI” para el servidor vinculado “MISERVIDOR” devolvió el mensaje “El administrador de transacción asociada ha deshabilitado su soporte para transacciones de red o remotas.

(Continuar Leyendo sobre Como configurar las transacciones distruibuidas en Windows [MSDTC])

post icon

Enviar ParamArray a un Stored Procedure en SQL Server

Una de las características que siempre consideré necesaria en versiones anteriores a SQL Server 2008 y otros motores comerciales era la capacidad de recibir una colección de datos como parámetro INPUT, así como manejan desde hace bastante tiempo Oracle y PostgreSQL.

El título que he puesto es algo engañoso, pero lo redacté así para llegar con mayor facilidad desde los buscadores. La verdad no existe un tipo de dato Array o Collection dentro de SQL Server hasta hoy día, pero si es posible enviar N valores de una sola vez, incluso mejora conceptualmente al típico paramArray porque al ser un tipo de tabla, (Continuar Leyendo sobre Enviar ParamArray a un Stored Procedure en SQL Server)

post icon

Como leer datos de SQL Server con Java [ResultSet]

Para conectarnos desde Java a cualquier motor siempre necesitaremos los drivers JDBC, en el caso de SQL Server podemos descargarlo desde éstos enlaces:

Si están usando la versión 2005 en adelante, les recomiendo ya utilizar la versión 4.0. (Continuar Leyendo sobre Como leer datos de SQL Server con Java [ResultSet])

28 Septiembre 2012
post icon

Como hacer un SELECT * FROM EXECUTE STORED_PROCEDURE en SQL Server

Una de las cosas más buscadas sobre procedimientos almacenados en SQL Server que he visto, es como hacer un select de la misma y volver a aplicar filtros o unirlas con otras tablas en una query. Y a diferencia de algunos motores que permiten hacer algo parecido a la sintaxis que lleva por titulo este post, en SQL Server no se puede hacer de dicha forma.

Para lograr algo parecido a eso, podemos valernos de varias técnicas, cada una con pros y contras. (Continuar Leyendo sobre Como hacer un SELECT * FROM EXECUTE STORED_PROCEDURE en SQL Server)