Mostrando entradas con la etiqueta SQL Server. Mostrar todas las entradas
Mostrando entradas con la etiqueta SQL Server. Mostrar todas las entradas

23-may-2008

TechNet Magazine Abril 2008: In focus SQL Server 2008

La revista online TechNet Magazine, ofrece un monográfico en el mes de abril, dedicado a SQL Server 2008: In focus SQL Server 2008, con los siguientes artículos:

  • Novedades
  • Seguridad
  • Rendimiento de consultas de almacén de datos
  • Minimice el bloqueo en SQL Server
  • Microsoft Office: integración de bases de datos Access con Sharepoint

Espero que os resulte interesante.

Os recomiendo que aprovechéis para echar un vistazo a esta revista, ya que tenéis acceso a todos sus números en inglés y en castellano.

Webcasts TechNet sobre SQL Server

Si quieres acceder a cualquier webcast de TechNet sobre SQL Server, pincha aquí

Desde ahí podrás acceder a una relación de todos los los webcast sobre SQL Server que han sido realizados, y acceder a ver sus grabaciones. Ten siempre a mano este interesante link.

Y si estás interesado en otros temas, como virtualización, Active Directory, Windows Server, o cualquier otro producto de servidores, desde allí mismo puedes acceder a las diferentes pestañas y a los webcasts grabados sobre esos productos.

Webcasts de Microsoft SQL Server 2008

Entre el 24 de abril y el 19 de junio, Microsoft en colaboración con Solid Quality Mentors, está ofreciendo una serie de webcasts en español sobre SQL Server 2008. Espero que os resulten interesantes, os dejo aquí una relación de ellos:

  • SQL Server 2008: Novedades para DBAs (24-04-2008)
  • Declarative Management Framework (08-05-2008)
  • Novedades para desarrolladores (29-05-2008)
  • Desarrollo de aplicaciones de nueva generación (03-06-2008)
  • Novedades en Business Intelligence (05-06-2008).
    Este lo impartiré yo :-)
  • Datawarehouses de Alto Rendimiento (12-06-2008)
  • Creando informes impactantes con SQL Server 2008 (19-06-2008)

Conforme se vayan celebrando, quedarán también grabados, por si no habéis tenido ocasión de asistir: Webcasts grabados de SQL Server 2008

29-mar-2008

Piensa en conjuntos de datos, no en filas individuales

Desde hace tiempo venimos escuchando que los cursores tienen un rendimiento pésimo en SQL Server, y cosas por el estilo. Todo eso es totalmente cierto. Incluso hay una mítica brigada anti-cursores, cuyo comandante jefe es el amigo Miguel Egea. Su lema es "Salva a SQL Server, mata un cursor" :-)

También hay un falso rumor por ahí extendido, y es que en Oracle y otros gestores de bases de datos relacionales si que se obtiene un rendimiento óptimo con su uso. Con respecto a esto quiero aclarar que, si bien es cierto que no llegan a afectar tanto al rendimiento del servidor como en SQL Server, si no los utilizamos podremos mejorar el rendimiento. Ahora el problema principal es que su uso nos facilita enormemente nuestro trabajo, así que optamos por usarlos, ya que hacen más sencillo nuestro trabajo. El que esté muy extendido su uso no justifica que tengan un buen rendimiento.

Por qué tienen tan pésimo rendimiento los cursores ? pues precisamente, porque están orientados al procesamiento fila a fila, no al procesamiento de conjuntos de filas, y las bases de datos relacionales están orientadas a conjuntos por definición. Entonces si eliminamos un cursor, mejoraremos el rendimiento ? Pues depende, no siempre la respuesta es si. Mejoraremos el rendimiento si optamos por una alternativa que sea orientada a conjuntos y no a filas. Por ejemplo, en un caso  en el que eliminemos un cursor, pero sigamos pensando en filas y montemos un bucle WHILE en el que vayamos haciendo SELECT de filas individuales y por cada una de ellas realizando las operaciones que necesitemos, poco o nada estamos haciendo, el rendimiento será prácticamente el mismo (no sabría decir cual de ellos tiene mejor rendimiento). Pero si por el contrario logramos sustituir el cursor por instrucciones orientadas a conjuntos que consigan el resultado que necesitamos (cosa posible en la mayoría de los casos) casi con total seguridad estaremos mejorando bastante el rendimiento.

Esto tampoco quiere decir que nunca utilicemos un cursor, los cursores están ahí y nos dan una funcionalidad importante, lo que debemos hacer es evitar su uso innecesario, aunque tengamos que pensar un poco más en cómo resolver la situación. Evidentemente, habrá casos en los que no encontremos otra solución, en esos los utilizaremos, que no pasa nada, lo que debemos evitar es abusar de ellos por comodidad.

A donde quiero llegar ? pues a haceros una recomendación muy importante para todos aquellos que utilizáis SQL Server, y es que, si aún no lo habéis hecho, comencéis cuanto antes a "cambiar el chip", y penséis en conjuntos, nunca en filas individuales.

Pd. Por cierto, y también estoy en la brigada anti-cursores :-P

SQL Server, diferencias entre propietarios y esquemas

Una de las diferencias entre SQL Server 2005 y las versiones anteriores es la incorporación de los Esquemas, que son grupos de objetos. Los Esquemas están incluidos desde hace bastante tiempo en ANSI-SQL, pero hasta esta versión no han sido incluidos en SQL Server. Hay que tener en cuenta que se ha creado cierta confusión entre los usuarios de versiones anteriores, ocasionadas sobre todo por las diferencias en la nomenclatura de objetos entre SQL Server 2000 y 2005. En 2000 el nombre completo del objeto es Servidor.BaseDeDatos.Propietario.Objeto y en 2005 es Servidor.BaseDeDatos.Esquema.Objeto. Espero que este artículo en inglés Understanding the difference between Owners and Schemas in SQL Server os ayude a disipar estas dudas.

22-mar-2008

White paper sobre Backup en SQL Server

Javier Loria, un buen amigo, y ahora compañero de trabajo, ha publicado en SQL Server Magazine un interesante white paper sobre backups en SQL Server. Os recomiendo a todos que accedáis al link y descarguéis dicho documento.

Best practices for Backup and Restore in SQL Server 2005