Generar XML con una simple consulta SQL SERVER

Marzo 8th, 2008 by kenavik

Os dejo una query muy útil que con una simple consulta de SQL nos devuelva un XML.


select [ID] from [NOMBRE DE LA TABLA] for XML auto

Hace un par de años me hubiera ahorrado unas cuantas lí­neas de código al generar con ASP archivos XML’s para su posterior lectura desde una web hecha en FLASH..

Posted in SQL SERVER | 1 Comment »

Trucos SQL: INNER JOIN contra otro servidor

Junio 5th, 2007 by kenavik

El otro día tuvimos que hacer una INNER JOIN contra otro servidor SQL y mi buen amigo Carlos nos paso esta fantástica QUERY.

SELECT tblClientes.Nombre, tblClientedetalle.*
FROM tblClientes RIGHT OUTER JOIN
OPENROWSET(’SQLOLEDB’, ‘IP SERVER’; ‘usuario’; ‘nombre base de datos’, ’select * from user.dbo.tblVisitasClientes’) tblClientedetalle ON tblClientes.IdCliente = tblClientedetalle.idCliente
ORDER BY tblClientedetalle.idCliente

La QUERY esta probada y funciona correctamente.

Posted in SQL SERVER | 1 Comment »

Trucos SQL: Registro aleatorio en un select

Noviembre 30th, 2006 by kenavik

Para seleccionar una fila aleatoriamente de una tabla podemos usar la siguiente query:

select top 1 * from tabla order by newid()

De esta manera obtendremos un registro aleatorio cada vez que ejecutemos la query.

Posted in SQL SERVER | 3 Comments »

Trucos SQL:Reducir Base de Datos con SQL Server

Noviembre 30th, 2006 by kenavik

Con una utilidad del Enterprise Manager del SQL Server podemos reducir el tamaño de una Base de Datos.

Cuando el tamaño fí­sico de nuestra base de datos es superior al tamaño real de datos, es decir, cuando el volumen de datos ocupa 10 MB y la base de datos esta ocupando 100 MB es debido a que las modificaciones que realizamos en la base de datos.

Cuando borramos un registro o otros objetos de la base de datos no se libera el espacio fí­sico del disco y por ello no se reduce la base de datos.

Para reducir la base de datos:
- Ejecutar el Enterprise Manager
- Colocarnos encima de la base de datos a reducir
- Seleccionar la base de datos y apretar botón derecho del ratón y seleccionar la opción “todas las tareas” y “Shrink Database”.
- En el cuadro que aparece seleccionar “Move pages to beginning of file before shrinking”
- Pulsar Ok

Ya hemos reducido el tamaño de la base de datos.

Posted in SQL SERVER | No Comments »

Trucos SQL: Buscar servidores disponibles de SQL Server

Noviembre 30th, 2006 by kenavik

Para encontar servidores disponibles en nuestra red ejecutar la siguiente consulta:

EXEC master..XP_CMDShell ‘OSQL -L’

Se listara todos los servidores encontrados de SQL Server de nuestra red.

Podemos crear un stored para devolver los servidores:


CREATE PROCEDURE dbo.ListLocalServers
AS
BEGIN
SET NOCOUNT ON

CREATE TABLE #servers(sname VARCHAR(255))
INSERT #servers EXEC master..XP_CMDShell 'OSQL -L'
-- play with ISQL -L too, results differ slightly

DELETE #servers WHERE sname='Servers:'

SELECT LTRIM(sname) FROM #servers WHERE sname != 'NULL'

DROP TABLE #servers
END

Posted in SQL SERVER | 1 Comment »

Trucos SQL:Duplicar registros en SQL

Septiembre 9th, 2006 by kenavik

Para duplicar/copiar registros de una tabla. Os dejo una query muy útil para estos casos.

INSERT INTO tbl1 SELECT * FROM tbl2 WHERE nombre = ‘xxxx’

Esta sentencia hace un insert de la tabla especificada a partir de los registros que nos devuelve el SELECT.

Posted in SQL SERVER | 1 Comment »