Category Archives: SQL SERVER

Trucos SQL: Buscar dentro de Stores Procedures y Triggers

Necesitamos saber que StoreProcedure o que Trigger tiene alguna referencia de una determinada tabla o columna de nuestra base de datos pues con esta sentencia podremos buscar directamente el nombre de una tabla o una columna mediante la tabla interna SYSOBJECTS de SQLSERVER. select name, text from sysobjects c_obj left join syscomments com on c_obj.id [...]

Trucos SQL : Best Practices – SET NOCOUNT

Con cada instrucción SELECT y DML, el servidor SQL devuelve un mensaje que indica el número de filas afectadas por esa declaración. Esta información es útil sobre todo en la depuración del código, pero es inútil después de eso. Al establecer SET NOCOUNT ON, podemos desactivar la función de devolución de esta información adicional. Para [...]

Generar XML con una simple consulta SQL SERVER

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 [...]

Trucos SQL : Best Practices – TRY- CATCH

Para realizar un control de errores de nuestras sentencias SQL en versiones anteriores a SQL SERVER 2005 debíamos incluir código de control de errores en cada instrucción T-SQL provocando así un aumento del tiempo de ejecución. Más código siempre consume más recursos y tiempo. En SQL Server 2005 existe la posibilidad de usar el clásico [...]

Trucos SQL: INNER JOIN contra otro servidor

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 [...]

Trucos SQL: Registro aleatorio en un select

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.

Trucos SQL:Reducir Base de Datos con SQL Server

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 [...]

Trucos SQL: Buscar servidores disponibles de SQL Server

Para encontar servidores disponibles en nuestra red ejecutar la siguiente consulta: <blockquote> EXEC master..XP_CMDShell ‘OSQL -L’ </blockquote> 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’ [...]

Trucos SQL: INSERT INTO – Duplicar registros en SQL

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.