El pasado 7 de abril fue lanzado el Service Pack 1 para SQL Server 2008.
Esta es una excelente noticia para algunos DBA. Inclusive conozco algunos que siguiendo su filosofía, no han instalado SQL 2008 por estar a la espera del primer SP.
Este service pack incluye correcciones para problemas comunicados a través de la Comunidad de SQL Server, así como mejoras en la actualización.
Enjoy it!
[SQL Server 2008 SP1]
[Libro online SQL Server 2008]
viernes, 10 de abril de 2009
SQL Server 2008 SP1
miércoles, 21 de enero de 2009
Browsing SQL Data Services (SDS)
Investigando la tecnología de SQL Data Services, me he encontrado con que Microsoft aún no nos ha provisto con un IDE al mejor estilo SQL Managment Studio para explorar las entidad y contenedores.
Bueno como preguntando se llega a Roma, y el Sr. Gaurav Mantri me ha comentado que han desarrollado una aplicación basada en la Silverlight llamada Omega.SDSClient.
Es una herramienta muy simples con la que puedes hacer Management de Authorities, Containers, Flexible Entities y Blob Entities.
Por ahora es un Beta y funciona muy bien.
[Omega]
[Omega.SDSClient]
lunes, 11 de febrero de 2008
¿Como obtener las columnas identity de tus tablas?
Un amigo me ha pedido ayuda con un script para obtener el nombre de la columna identity para las tablas de su base de datos.
Asumo que este script aún no esta por todos los blog de la web, por lo que aquí está;
Para SQL 2005 o SQL 2000 puedes usar el siguiente script:
SELECT COLUMN_NAME as FIELD_NAME, TABLE_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'dbo'
AND COLUMNPROPERTY(object_id(TABLE_NAME), COLUMN_NAME, 'IsIdentity') = 1
ORDER BY TABLE_NAME
Para SQL 7.0 debes usar el siguiente (también compatible con SQL 2000 y SQL 2005):
SELECT NAME as FIELD_NAME, OBJECT_NAME(id) as TABLE_NAME
FROM syscolumns
WHERE (status & 128) = 128
order by TABLE_NAME
Enjoy!
jueves, 8 de noviembre de 2007
Avant Premiere Visual Studio 2008, Windows Server 2008 y SQL Server 2008
El próximo 29 de noviembre ser realizará un nuevo Microsoft TechNet & MSDN Briefing donde será presentado Visual Studio 2008, Windows Server 2008 y SQL Server 2008.
Esta vez el evento es 100% on line y en vivo, lo que en otras palabras sería como;
muchachos, hay que ahorrar, nada de andar gastando dinero pasajes aéreos, promotoras y demás chucherías.
Este año lo hacemos virtual y de paso promocionamos Office Live Meeting...
It's show time !!!
[http://www.mslatam.com/conosur/briefingonline07/]
viernes, 9 de marzo de 2007
Obtención de valores máximos de una tabla en SQL
Existen muchos casos en los cuales, necesitamos construir consultas en SQL, que nos retornen el máximo de un grupo de valores. Esta consulta, a priori, parece ser trivial y no tener mayor complejidad, pero la verdad es que no podemos realizarla directamente, es decir, obtener el grupo de valores máximos, mediante una selección simple de estos. Es así que tenemos que comenzar por obtener todos los valores mínimos y seleccionar del conjunto total de valores, aquellos que no se encuentran entre los mínimos, o sea los máximos.
El ejemplo siguiente refleja la estructura de la consulta que obtiene los valores máximos.
Utilizaremos la siguiente tabla
| Sucesos |
| Id |
| Tipo |
| Gravedad |
Con los siguientes valores
| Id | Tipo | Gravedad |
| 1 | Tipo A | 8 |
| 2 | Tipo B | 3 |
| 3 | Tipo C | 5 |
| 4 | Tipo A | 10 |
| 5 | Tipo A | 12 |
| 6 | Tipo A | 4 |
| 7 | Tipo B | 13 |
La consulta para obtener los valores máximos es:
SELECT dbo.Suceso.Descripcion, dbo.Suceso.Gravedad
FROM dbo.Suceso
WHERE dbo.Suceso.id NOT IN
(
SELECT dbo.Suceso.id
FROM dbo.Suceso INNER JOIN
dbo.Suceso SucesoAux ON dbo.Suceso.Tipo = SucesoAux.Tipo
AND dbo.Suceso.Gravedad < SucesoAux.Gravedad
)
En la consulta anidada, se obtienen todos los valores mínimos, de cada uno de los Tipos definidos. En la consulta principal se seleccionan solo aquellos id que no estén entre los mínimos, como se ya se dijo, estos son los máximos.
Esto se hace mediante un join con la propia tabla, seleccionando los valores que tienen algún elemento mayor (dbo.Suceso.Gravedad < SucesoAux.Gravedad)
Nota: Si quisiéramos el máximo valor de entre todos los elementos bastaría con quitar la condición dbo.Suceso.Tipo = SucesoAux.Tipo, la cual restringe las comparaciones entre los elementos del mismo Tipo.
El resultado de la consulta sería en el caso por tipos
| Tipo A | 12 |
| Tipo B | 13 |
| Tipo C | 5 |
Autor: Neri Custodio