1 0 Tag Archives: MsSQL
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

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)

post icon

Encriptar contraseñas en SQL Server

Para muchas cosas podriamos necesitar encriptar datos dentro de la base de datos, y uno de los usos más comunes es para almacenar contraseñas. SQL Server desde versiones antiguas soportaba ya esta función integrada.

Anteriormente podiamos encriptar y desencriptar con las funciones públicas PWDENCRYPT y PWDCOMPARE, incluso hasta hoy día podemos utilizar éstas funciones aunque no les recomiendo (Continuar Leyendo sobre Encriptar contraseñas en SQL Server)

post icon

Solucionar error ALTER AUTHORIZATION para crear diagramas en SQL Server

Cuando se restauraciones de bases de datos suele ocurrir que no se puede crear diagramas (DER) de la misma en SQL Server. El problema es que no tiene asignado correctamente el usuario dueño (owner) de esa BD.

Los objetos de soporte del diagrama de base de datos no se pueden instalar. Esta base de datos carece de propietario válido. Para continuar, primero use la página Archivos del diálogo Propiedades de la base de datos o la instrucción ALTER AUTHORIZATION para establecer como propietario de la base de datos un inicio de sesión válido y después agregue los objetos de soporte del diagrama de base de datos. (Continuar Leyendo sobre Solucionar error ALTER AUTHORIZATION para crear diagramas en SQL Server)

post icon

Clausula IN vs BETWEEN AND [SQL Tunning]

Para comprender éste articulo recomiendo que haga una lectura introductoria sobre la interpretación de los planes de ejecución en SQL Server.

Lo que demostraremos será la ventaja en rendimiento del BETWEEN AND sobre la cláusula IN, pero sólo en el contexto de valores numericos correlativos, ya que si es de otro tipo de dato o no son correlativos no aplicará este concepto.

Para explicar vamos a crear un ejemplo sencillo que demostrará lo expuesto, para ello vamos a valernos de la base de datos AdventureWorks2008R2, aquí donde conseguir e instalar. (Continuar Leyendo sobre Clausula IN vs BETWEEN AND [SQL Tunning])