Fernando G. Guerrero

Solid Quality Learning (http://www.solidqualitylearning.com)

<November 2008>
SuMoTuWeThFrSa
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456


Navigation

Flying around

SQL stuff

Conferences

Courses

Blogs from friends

Subscriptions

Post Categories



SQL stuff (RSS)

SQL stuff
Conference season is over... finally :-)

After 28 conferences and seminars this year (I presented at 26 of them), I feel really tired, and eager to go back home and enjoy life with my family for a change. However, I might still need to fly to Latin America during the following two months for some INETA roadshows.

I'm flying this evening Seattle - London - Madrid - Alicante and I will arrive to my final destination tomorrow evening. Hopefully the BA folks will upgrade my ticket so I will be able to sleep all the way to London, but I guess I could sleep on this trip even if I had to stand up during the entire flight.

I had a great time at PASS this year. However, timing was a bit crazy as usual. Very early morning starts (who decided to have a working breakfast at the conference center at 7AM?) and too late evenings (we never finished before midnight) made it a killing week for my already bugged body clock.

We had the entire Solid Quality Learning Team at the conference (only Gianluca and Herbert had to stay in Europe for personal/professional reasons), and we had the opportunity of spending some time with our friends from the SQL Server MVP community, the dev team, and our PASS friends as well. All comments I heard about the conference were great, and I'm glad to see how this conference is gaining strength every year.

I want to congratulate the new PASS Board of Directors, I wish them the best for this year ahead, and I'm sure that they will do a great job to make PASS more helpful every day for the SQL Server Community.

I can't say that I am completely happy with my sessions at this conference, but I received excellent comments from some SQL friends who found these sessions helpful, and I received some feedback and criticisms in the evaluation forms that will help me to do it better next time. I wish to thank everybody who gave me good and bad comments about my sessions, thank you for your excellent feedback, it really helps me.

Now I guess that I better pack and go. I'll blog some more later (perhaps from any of the airports I'll need to spend sometime between today and tomorrow)

En castellano (very free translation into Spanish language)

Se acabó por fin la temporada de conferencias :-)

Tras asistir a 28 conferencias  y seminarios durante este año (me tocó participar como ponente en 26 de ellas), me siento verdaderamente cansado, y deseando regresar a casa y disfrutar de mi familia para variar. Sin embargo, a lo mejor tengo aún que volar a América Latina durante los prócumos meses para participar en algunos seminarios de INETA.

Vuelo esta tarde Seattle - London - Madrid - Alicante a donde llegaré mañana por la noche. Espero que los amigos de British Airways me suban a business classy pueda dormir como un lirón al menos hasta Londres, auqnue supongo que hoy podrías dormir aunque me obligaran a permanecer de pie durante todo el viaje.

Lo he pasado muy bien en PASS este año. Sin embargo, los horarios han sido de locura, como de costumbre. Comenzamos muy temprano por las mañanas (¿a quién se le ocurrió la idea de tener un desayuono de trabajo a las 7 de la mañana?) y todas las noches acabamos muy tarde (nunca antes de medianoche) lo cual casi termina de rematar mi reloj interno (el cual ya está bastante tocado con tanto viaje).

Prácticamente toto el Equipo de Solid Quality Learning estaba en la conferencia (solo Gianluca y Herbert permanecienron en Europa por motivos personales y profesionales),y hemos tenido la oportunidad de pasar algún tiempo con otros amigos de la comunidad de SQL Server MVPs, el equipo de desarrollo de SQL Server, y nuestros amigos de PASS también. Todos los comentarios que he oido sobre la conferencia han sido muy buenos, y me alegro de ver como esta conferencia sigue ganando fuerza y prestigio cada año.

Me gustaría felicitar a la nueva I want to congratulate the new Junta Directiva de PASS, les deseo lo mejore para este nuevo año, y estoy seguro de que harán un estupendo trabajo para hacer que PASS sea cada día más útil para la comunidad de SQL Server.

No puedo decir que esté completamente contento de las sesiones que he presentado en esta conferencia, pero he recibido muy calurosos comentarios de algunos amigos que encontraron estas sesiones muy útiles, y también he recibido crísticas en las hojas de evaluación que me auydrámn a hacerlo mejor la próxima vez. Me guatría agradecer a todos aquellos que se han tomado la molestia de hacer estos comentarios, buenos y malos, sobre mis sesiones, ya que estos comentarios son una tremenda ayuda para mí.  

Supongo que ahora debería empaquetar mis maletas y largarme para el aeropuerto. Ya bloguearé algo más más tarde (posiblemente desde alguno de los aeropuertos en los que me tocará pasar algunas horas entre hoy y mañana)

 

 

posted Saturday, November 15, 2003 7:46 PM by fguerrero

About the new MCDBA certification

If you read the message Microsoft Certified Database Administrator for Yukon from Clemens Reijnen , you would know by now that Microsoft is changing this certification to make it closer to the reality of tasks that DBAs need to perform every day at their work place.

Looking at some statistics, MCDBA certifications are steadily increasing during the last year with nearly 115,000 professionals holding this certification as we speak. Still MCSE numbers double the number of MCDBA, and the MCSE for Windows 2000 certification is finally far from the nearly half a million MCSE for NT4 from November 2002.

However, the new certification might bring the MCDBA number down, as it did happen with MCSE one year ago. Two main reasons for this will be the Windows 2003 requirements, and the other one will be the inclusion of CLR stuff in the Database Programming Exam.

I truly believe that DBAs should have a good knowledge about their IT infrastructure, to make sure that they understand the many implications of runing SQL Server in a complex Windows network. Similarly, I don't see how a SQL Server developer could do a good job when Yukon will be available without proper CLR programming skills.

I appreciate that they separate now Design and Programming in two exams, and that makes lots of sense mainly when you see out there how many databases are poorly designed. Actually there was only two MS exams dealing with these issues in enough depth (I love these exams!) 70-100 Analyzing Requirements and Defining Solution Architectures, and in less degree the new exam 70-300 Analyzing Requirements and Defining Microsoft .NET Solution Architectures, although you couldn't pass the 70-229 Designing and Implementing Databases with Microsoft SQL Server 2000 Enterprise Edition without enough database design knowledge.

With tools being more clever every day, and providing automatic management for most day to day operations, the role of a DBA needs to go up in the food chain to take part in more architectural and design decisions, and closer to the business process that required the installation of a database system on the first place.

Having a revamped certification will be useless without a proper training program, and this is where Microsoft can help a lot again. However, looking at the MCT numbers, it looks like only 1500 MCTs renewed so far (the renewal period started on October 1st, and will end on November 16th). It might be a typo in that page, but looking at the training market during the last couple of years, it doesn't surprise me that many trainers decided to move to other activities.

As far as I know, SQL Server training is still strong, due to the market growth of SQL Server. However, most training organization need to re-think the way they provide training for next release of SQL Server (codenamed Yukon). What customers want from training is help to make their staff more productive designing, implementing, and operating their systems. This implies attending a course that is relevant to the skills they need to gain, and having a trainer who can guide them through the learning process, and a mentor able to help them apply what is being learned to their specific systems.

This represents a big challenge for most SQL Server trainers, because our skill set needs to be wider every day, and we need to have enough consulting/mentoring experience to make sure that we can provide specific help to the specific real-life problems that delegates bring to the classroom.

Nobody will search anymore for any course, anywhere, anytime, with any trainer. Those times are gone forever (thanks God). But high quality and relevant courseware, taught by quality trainers, will be more important every day, and this will make the market believe again in the benefits of a proper learning process.

I know that the Microsoft folks are designing very carefully the new courseware for SQL Server, and I believe that they are definitely in the right direction. Let's hope that most SQL Server trainers will understand the opportunities that this big challenge can bring them. I know many SQL Server MCTs and I know what they are capable of.

Another question could be what Microsoft is going to do to promote the new MCDBA certification in the market. At the end of the day, a new certification is as good as the professionals who obtain it.

 

En castellano (very free translation into Spanish language)

Sobre la nueva certificación MCDBA

Si has leido el mensaje Microsoft Certified Database Administrator for Yukon de Clemens Reijnen , ya sabres que Microsoft está cambiando esta certificación para hacerla m;as cercana a la realidad de las tareas que los administradores de bases de datos realizan cada día en su puesto de trabajo.

Echando un vistazo a algunas estadísticas, las certificaciones MCDBA están creciendo continuadamente durante el pasado año, con casi 115,000 profesionales certificados hasta la fecha. Aún el número de MCSE dobla el n;umero de MCDBA, y la certificación MCSE para Windows 2000 está finalmente lejos del cerca de medio millón de MCSE para NT4 que llegó a haber hace solo un año.

Sin embargi, la nueva certificación podría reducir el nombre de certificaciones MCDBA, tal y como sucedión  con los MCSE el pasado año. Hay dos buenas razones para ello: los nuevos requerimientos de Windows 2003, y la inclusión de temas de .NET en el examen de programación de bases de datos.

Yo creo firmemente que los administradores de bases de datos deberían tener una solida formación sobre la infraestructura en la que SQL Server está instalado, para asegurarse de que entiended las implicaciones que supone ejecutar SQL Server en una complaje red de Windows 2003. Por motivos similares, no veo cómo un desarrollador de SQL Server podría sobrevivir cuando la nueva versión de SQL Server llegue al mercado, sin una adecuada formación en la programación utilizando lenguages de .NET

Me gusta la idea de que hayan decidido separar el examen de Diseño de bases de datos del de Programación de bases de datos. Esto tiene mucho sentido principalmente si observamos la cantidad de bases de datos que hay por ahií bastante mal diseñadas. Realmente, solo había dos exámenes disponibles que tocaban este tema con una cierta profundidadA (me encantan estos exámenes) 70-100 Analyzing Requirements and Defining Solution Architectures, y en menor medida el nuevo 70-300 Analyzing Requirements and Defining Microsoft .NET Solution Architectures,, pero tampoco podrías pasar el examen 70-229 Designing and Implementing Databases with Microsoft SQL Server 2000 Enterprise Edition sin suficientemente conocimiento de diseño de bases de datos.

Con herramientas más inteligentes cada día, y con la incorporación de adminstración automática para muchas tareas cotidianas, el papel del administrador de base de datos necesita ascender en la cadena alimentaria para tomar parte en decisions de arquitectura y diseño, y estar más cerca de los procesos de negocio que motivaron la instalación de un sistema de bases de datos originariamente.

Disponer de una nueva certificación sería inutil sin un programa de formación adecuado, y es aquí donde Microsoft puede ser de tremenda ayuda. Sin embargo, ecahndo un vistazo al número de Profesores Certificados (MCT), parece que solo 1500 MCTs han renovado este año hasta la fecha (el periodo de renovación empexó el primero de Octubre y acaba el próximo 16 de Noviembre).  Podría ser simplemente un error de imprenta en esa página, pero echando un vistazo al mercado de formación de los últimos dos años, no me sorprendería que muchos profesores hayan decidido cambiar de actividad.

Por lo que yo se, la formación en SQL Server aún goza de buena salud, debido al crecimiento de mercado de SQL Server. Sin embargi, muchas empresas de formación necesitan replantearse el modo en que proporcionarán formación para la próxima versión de SQL Server (llamado en clave Yukon). Lo que necesitan los clientes de un programa de formación es ayuda para que su personal sea más productivo diseñando, implementando, y administrando sus sistemas. Esto implica asistir a cursos que sean relevantes para las habilidades que necesitan adquirir, y disponer de un porfesor que sepa guidarles a trav;es del proceso de aprendizaje, y un mentor capaz de ayuderles a plicar a sus sistemas específicos lo que se ba aprendiendo.

Esto representa un importante reto para la mayoría de profesores de SQL Server, porque necesitamos ampliar nuestra banda de conocimientos cada día más, y necesitamos tener suficiente esperiencia en consultoría para asegurarnos de que podemos proporcionar respuestas específicas a las preguntas específicas que nuestros clientes traen a nuestras clases.

Nadie va a buscar nunca más por cualquier curso, en cualquier lugar, en cualquier momnento y con cualquier profesor. Estos tiempos se han marchado para siempre (Gracias a Dios). Pero los cursos de alta calidad con información relevante, impartidos por profesores de calidad, serán más importantes cada día, y esto hará que el mercado vuelva a creer de nuevo en los beneficios que conlleva un adecuado proceso de aprendizaje.

Yo se que la gente de Microsoft está diseñando muy cuidadosamente los nuevos cursos de SQL Server, y a mí me parece que están definitivamente en la dirección adecuada. Esperemos que la mayoría de los profesores de SQL Server comprendan las oportunidades que este importante reto les puede traer. Yo conozco personalmente a muchos profesores de SQL Server, y sé de lo que son capaces.

Otra cuestión a considerar sería qué es lo que Microsoft está haciendo para promover la nueva certificación MCDBA en el mercado. Al fin y al cabo, una nueva certifjcación m es ni mejor ni peor que los profesionales que la ostentan.

posted Friday, November 07, 2003 11:33 PM by fguerrero

Do you ever wonder how SQL Server stores internally datetimes values?

Kalen Delaney published some time ago a few articles on this topic in SQL Server Magazine:

Inside the Datetime Data

Solving the Datetime Mistery

However, I like to play with DBCC PAGE and look inside the stored information to learn how SQL Server actually works.

SQL Server stores dates always In a  binary format, independently of the output format that the user might choose. This binary format is split into two parts. One part represents the date (number of days passed from the dates' origin) and the other part represents the time (number of time unit passed since midnight).

If you had a smalldatetime value, date will be stored as the number of days from January 1st 1900, and for datetime values this number would be negative for dates before January 1st 1900.

For smalldatetime values, time is stored as the number of minutes since midnight, but for a datetime value, this number represents the number of ticks (1/300 sec) from midnight.

To see how SQL Server stores these values, run the following script:

USE Tempdb
GO

CREATE TABLE MyDate (thisDate datetime,
thisSmallDate smalldatetime)

INSERT Mydate
SELECT Getdate(), GetDate()

INSERT MyDate
SELECT '1/1/1800', GetDate()

INSERT MyDate
SELECT '1/1/1800 10:15', GetDate()

GO


SELECT *
FROM sysindexes
WHERE id = OBJECT_ID('MyDate')

-- In my case, I can see that the column First is 0x4B0000000100,
-- therefore the page where this data is stored is 0x4B, or 75

DBCC TRACEON(3604)

DBCC PAGE (Tempdb, 1, 75, 3)

/* you could see three rows with the values you inserted. In my case I got this:

Slot 0 Offset 0x60
------------------
Record Type = PRIMARY_RECORD
Record Attributes =  NULL_BITMAP
1A786060:  00100010  00610fa5  00009421  94210161 ......a.!...a.!.
1A786070:    000002                               ...
Fecha                            = Oct 29 2003  5:53AM
Fechita                          = Oct 29 2003  5:53AM

Slot 1 Offset 0x73
------------------
Record Type = PRIMARY_RECORD
Record Attributes =  NULL_BITMAP
1A786073:  00100010  00000000  ffff7154  94210167 ........Tq..g.!.
1A786083:    000002                               ...
Fecha                            = Jan  1 1800 12:00AM
Fechita                          = Oct 29 2003  5:59AM

Slot 2 Offset 0x86
------------------
Record Type = PRIMARY_RECORD
Record Attributes =  NULL_BITMAP
1A786086:  00100010  00a8ea30  ffff7154  9421016e ....0...Tq..n.!.
1A786096:    000002                               ...
Fecha                            = Jan  1 1800 10:15AM
Fechita                          = Oct 29 2003  6:06AM

Playing a little bit with hexadecimal values,

0x9421 = 37921 days

*/

SELECT DATEADD(day, 37921, '1/1/1900')

-- will give us 2003-10-29

-- 0xffff7154 = 4294930772 = -36524 (taking out 256*256*256*256)

SELECT DATEADD(day, -36524, '1/1/1900')

-- will give us 1800-01-01

-- 0x0161 = 353 minutes = 5:53 (the time I ran this script)
-- 0x00a8ea30 = 11070000 ticks = 36900 seconds = 615 minutes = 10:15

 

En castellano (very free translation into Spanish language)

¿Te has preguntado alguna vez cómo SQL Server almacena internamente valores datetime?

Kalen Delaney publicó hace algún tiempo algunos artículos sobre este tema en SQL Server Magazine:

Inside the Datetime Data (Los valores Datetime a fondo)

Solving the Datetime Mistery (Resolviendo el misterio de los valores Datetime)

Sin embargo, a mí me encanta jugar con DBCC PAGEy mirar dentro de la información que se almacena para aprender cómo trabaja realmente SQL Server.

SQL Server almacena las fechas siempre en un formato binario que es independiente del formato de salida que seleccione el usuario. Este formato binario es el conjunto de dos partes, una que representa la fecha (número de días desde la fecha origen) y otra parte representa hora (número de ticks desde medianoche).

Si se trata de un smalldatetime, la parte de fecha se almacena como el número días que han pasado desde el 1 de Enero de 1900, si se trata de un campo datetime, este valor sería negativo si se tratara de una fecha anterior al 1 de Enero de 1900.

Si se trata de un smalldatetime, la parte de hora almacena el número de minutos que han pasado desde la medianoche, mientras que si se trata de un campo datetime, la parte de hora almacenará cuántos trescientosavos de segundo han pasado desde la medianoche.

Si quieres ver cómo SQL Server almacena estos valores binarios, ejecuta el siguiente script:

USE Tempdb
GO

CREATE TABLE MiFecha (Fecha datetime,
Fechita smalldatetime)

INSERT MiFecha
SELECT Getdate(), GetDate()

INSERT MiFecha
SELECT '1/1/1800', GetDate()

INSERT MiFecha
SELECT '1/1/1800 10:15', GetDate()

GO


SELECT *
FROM sysindexes
WHERE id = OBJECT_ID('MiFecha')

-- En mi caso, veo que el campo First es 0x4B0000000100,
-- esto quiere decir que la página en la que se almacenan los
-- datos es la 0x4B, o sea la 75

DBCC TRACEON(3604)

DBCC PAGE (Tempdb, 1, 75, 3)

/* verás que hay tres registros con los valores que has almacenado En mi caso, he obtenido esto:

Slot 0 Offset 0x60
------------------
Record Type = PRIMARY_RECORD
Record Attributes =  NULL_BITMAP
1A786060:  00100010  00610fa5  00009421  94210161 ......a.!...a.!.
1A786070:    000002                               ...
Fecha                            = Oct 29 2003  5:53AM
Fechita                          = Oct 29 2003  5:53AM

Slot 1 Offset 0x73
------------------
Record Type = PRIMARY_RECORD
Record Attributes =  NULL_BITMAP
1A786073:  00100010  00000000  ffff7154  94210167 ........Tq..g.!.
1A786083:    000002                               ...
Fecha                            = Jan  1 1800 12:00AM
Fechita                          = Oct 29 2003  5:59AM

Slot 2 Offset 0x86
------------------
Record Type = PRIMARY_RECORD
Record Attributes =  NULL_BITMAP
1A786086:  00100010  00a8ea30  ffff7154  9421016e ....0...Tq..n.!.
1A786096:    000002                               ...
Fecha                            = Jan  1 1800 10:15AM
Fechita                          = Oct 29 2003  6:06AM

Si jugamos un poco con valores hexadecimales,

0x9421 = 37921 dias

*/

SELECT DATEADD(day, 37921, '1/1/1900')

-- nos da 2003-10-29

-- 0xffff7154 = 4294930772 = -36524 (si le restamos 256*256*256*256)

SELECT DATEADD(day, -36524, '1/1/1900')

-- nos da 1800-01-01

-- 0x0161 = 353 minutos = 5:53 (la hora en la que ejecuté el script)
-- 0x00a8ea30 = 11070000 ticks = 36900 segundos = 615 minutos = 10:15

posted Friday, November 07, 2003 9:06 AM by fguerrero

Dreaming is like reindexing your brains

Ron Talmage and I were discussing yesterday about old musical films, and we couldn't remember the name of the film based on a rock opera from The Who, with Roger Daltrey and Elton John, and Anne Margret.

It happens that for no special reason I have been going to sleep beyond 3AM during the last two nights, and waking up not too many hours after that, and I wonder if this is the reason why it took me an entire day to find out the name of the film: Tommy

Then Ron and I came up with an interesting theory: During our sleep time our brain does a DBCC DBREINDEX, and because all tables are locked during this process, we have nothing better to do than getting some sleep during this costly but necessary operation. If we didn't have enough sleep, some indexes would be missing, or fragmented, or we might have some missing statistics. This is the reason why some times our brain needs to perform a full brain scan in search for some information.

Who didn't ever have a nap during a class?, or during one of those conference sessions about SQL Server? or during with one of those long telephone conversations with your mum? Didn't you realize that you were not completely knocked down? I'm sure you were able to wake up from time to time, and even show some intelligent face to the speaker, so he/she would believe that you were actually following the session. If your brain was executing a DBCC DBREINDEX during these short sleeping periods, you'd be unable to wake up, therefore the only feasible conclusion should be that your brain would have been doing a DBCC INDEXDEFRAG instead, which can be executed in short transactions and can give you a chance to wake up and do something intelligent for a change.

In both cases, your brain executes queries faster after getting some sleep, but never better than after a long and comfortable night sleep (we all know how important is to have a proper window to do a DBCC DBREINDEX).

However, my only question is what is my brain doing for so long when I wake up in the morning that make all my other brain activities work at snail level until some hours later? It might be executing UPDATE STATISTICS memories WITH FULLSCAN ;-)

 

En castellano (very free translation into Spanish language)

Soñar es como reindexar el cerebro

Ron Talmage y yo estábamos discutiendo ayer sobre viejas películas musicales, y no pudimos recordar el nombre de la película basada en un disco de The Who, con Roger Daltrey, Elton John, y Anne Margret.

No sé por qué pero últimamente me estoy yendo a la cama pasadas las tres de la mañana, y el caso es que me despierto no mucho más tarde, y me pregunto si es esta la razón por la que me ha llevado un día entero recordar el nombre de la película: Tommy

Así que Ron y yo hemos amañado una interesante teoría: Durante nuestro tiempo de sueño, nuestro cerebro ejecuta DBCC DBREINDEX, y como todas las tablas quedan bloqueadas exclusivamente, no tenemos nada mejor que hacer que dormir a pierna suelta durante esta costosa pero necesaria operación. Si no dormimos lo suficiente, podrían faltar algunos índices, o quedarían fragmentados, o podrían perderse algunas estadísticas. Esta es la razón por la que a veces nuestro cerebro necesita ejecutar un barrido completo de la memoria para buscar alguna pieza de información.

¿Quién no se ha echado nunca un sueñecito durante una clase?, ¿o durante una de esas aburridas charlas en las conferencias de SQL Server? ¿o durante una de esas largas conversaciones telefónicas con tu madre? ¿A que en esos momentos no estás totalmente vencido en los brazos de Morfeo? Estoy seguro de que eres capaz de despertarte de vez en cuando, e incluso puedes mostrar una cara de ligera inteligencia al conferenciante, para que se crea que realmente estás siguiendo su aburrida sesión con interés. Si tu cerebro estuviera ejecutando DBCC DBREINDEX durante estos cortos periodos de sueño, no podrías despertarte tan rápido, por lo que la única posible conclusión es que tu cerebro esté ejecutando DBCC INDEXDEFRAG, por que esto puede ejecutarse en transacciones cortas, con lo que te da la posibilidad de despertar y hacer algo inteligente para variar.

En ambos casos, el cerebro será capaz de ejecutar consultas más rápidamente tras dormir un poco, pero nada se puede igualar al efecto de una larga y confortable noche de pacífico sueño (todos sabemos lo importante que es disponer de una ventana de oportunidad que nos permita ejecutar DBCC DBREINDEX).

Sin embargo, mi única pregunta es qué es lo que hace mi cerebro durante tanto tiempo por las mañanas al despertarme, que hace que todas las otras actividades cerebrales (que no son muchas) vayan a paso de caracol hasta bien entrada la mañana? A lo mejor está ejecutando UPDATE STATISTICS memorias WITH FULLSCAN ;-)

posted Thursday, November 06, 2003 10:04 PM by fguerrero

Who says that Oracle is more secure than SQL Server?
Answering a question in the Spanish SQL Server newsgroup, I did a bit of research on SQL Server and Oracle vulnerabilities, and I came up with some good food for thought:
 
XForce lists a total of 244 security problems with Oracle, 19 of them from this year 2003:
http://xforce.iss.net/xforce/search.php?type=2&pattern=oracle&sort=time&display=all&show=30&x=87&y=9
It is difficult to know how many incidents are related to SQL Server, because the way their search engine works.

However, the Computer Incident Advisory Capability (http://www.ciac.org/ciac/) lists
18 incidents about Microsoft SQL Server since March 2000, with only one incident this year. At the same time, it shows 15 Oracle incidents since September 2001, with 7 incidents this year.

The Carnegie Mellon Software Engineering Institute, CERT
(http://www.cert.org/) lists 46 Oracle vulnerabilities since December 2000, with 11 notes this year(http://www.kb.cert.org/vuls/byid?searchview). The same organization lists 22
notes for SQL Server, 4 of them from this year.

The National Institute of Standards and Technology (http://www.nist.gov/)
informs about 79 Oracle incidents, 9 of them from the last 12 months
(http://icat.nist.gov/icat.cfm?vendor_command=Oracle&product_command=). However, they only report 46 SQL Server incidents (http://icat.nist.gov/icat.cfm?vendor_command=Microsoft&product_command=SQL%20Server), with only 3 this year.

So, who said that SQL Server was less secure than Oracle?
 

En castellano (very free translation into Spanish language)

Quién dijo que Oracle es más seguro que SQL Server?

Respondiendo a una pregunta en el Groupo de noticias de SQL Server en castellano, investigué un poco por la red sobre las vulnerabilidades de SQL Server y Oracle, y la verdad es que me sorprendió gratamente lo que encontré:

Existen varios recursos públicos en la red que informan sobre vulnerabilidades de las bases de datos.

Por ejemplo XForce, lista un total de 244 problemas de seguridad en Oracle, de los cuales 19 son de este año:

http://xforce.iss.net/xforce/search.php?type=2&pattern=oracle&sort=time&display=all&show=30&x=87&y=9

Es una pena que dado el modo en que funciona su motor de búsqueda, es casi imposible conocer el quivalente en SQL Server, ya que la mayoría de los motores de bases de datos manejan el lenguage SQL y se llaman Server de un modo o de otro, y además funcionan en plataformas de Microsoft.

El Computer Incident Advisory Capability (
http://www.ciac.org/ciac/) lista 18 incidentes en Microsoft SQL Server desde Marzo del 2000 hasta hoy, con solo un incidente este año, mientras que lista 15 incidentes en Oracle desde
Septiembre del 2001 hasta la actualidad, con 7 incidentes este año.

El Carnegie Mellon Software Engineering Institute, CERT (
http://www.cert.org/) lista 46 vulnerabvilidades de Oracle desde Diciembre del 200 hasta la actualidad, con 11 notas de este año (http://www.kb.cert.org/vuls/byid?searchview). El mismo organismo lista 22 notas para el término "SQL Server", 4 de las cuales de este año.

El National Institute of Standards and Technology (
http://www.nist.gov/) informa somvre 79 incidentes relacionados con Oracle, de los cuales 9 en los últimos 12 meses (http://icat.nist.gov/icat.cfm?vendor_command=Oracle&product_command=). Sin embargo solo reporta 46 incidentes relacionados con SQL Server (http://icat.nist.gov/icat.cfm?vendor_command=Microsoft&product_command=SQL%20Server), de los cuales solo 3 son de este año.

En conclusión, que no sé en qué se basa el que afirme que SQL Server es más vulnerable que Oracle.

Quizá el vendedor (y a veces el comprador, que me ha tocado lidiar con este tipo de problemas en más de alguna ocasión) se lleven mejor comisión si compran Oracle que con SQL Server.

posted Thursday, November 06, 2003 5:06 PM by fguerrero

Itzik shines again as a T-SQL Black Belt Wizard

In case you missed Greg post about Yukon T-SQL enhancements, MSDN just made available tha White Paper that Itzik Ben-Gan wrote for Solid Quality Learning to be part of the SQL Server Yukon Beta 1 Readiness Kit.

Itzik co-presented a session on this topic with Lubor Kollar at the SQL Server Summer Academy in Dubrovnik last summer, and it still amazes me how much great stuff this guy can do.

You can read some of his articles at SQL Server Magazine too.

Itzik will present a full day seminar on this topic at the SQL DevCon 2004 Conference next February 2004 in London.

And if you are lucky, you could attend his Advanced Transact-SQL course at several locations around the world during the next months.

posted Thursday, November 06, 2003 4:51 PM by