1 / 50

Difusión por el Web de SQL Server 2005 Parte 3: Lograr mayor concurrencia

Difusión por el Web de SQL Server 2005 Parte 3: Lograr mayor concurrencia . Lo que vamos a cubrir:. Utilizar el aislamiento de instantáneas para maximizar la concurrencia y reducir los bloqueos

octavious
Télécharger la présentation

Difusión por el Web de SQL Server 2005 Parte 3: Lograr mayor concurrencia

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Difusión por el Web de SQL Server 2005Parte 3: Lograr mayor concurrencia

  2. Lo que vamos a cubrir: • Utilizar el aislamiento de instantáneas para maximizar la concurrencia y reducir los bloqueos • Implementar instantáneas de la base de datos para proporcionar una copia de datos de punto en el tiempo de sólo lectura • Utilizar vistas dinámicas de administración para supervisar y resolver problemas de transacciones y bloqueos

  3. Conocimiento previo • Familiaridad con Transact-SQL • Familiaridad con los conceptos de bloqueo de la base de datos y aislamiento Nivel 200

  4. Agenda • Repaso • Aislamiento de instantáneas • Instantáneas de la base de datos • Vistas dinámicas de administración

  5. RepasoFlujo de trabajo de mantenimiento de la base de datos • Asistente para el plan de mantenimiento • Herramienta gráfica para generar planes básicos y avanzados • Diseñador de plan de mantenimiento • Diseñador para flujo de trabajo de mantenimiento • Planes programados utilizando SQL Server Agent

  6. RepasoSQL Profiler • Nuevos eventos de seguridad • Eventos mejorados para dar seguimiento a los bloqueos • Soporte a eventos adicionales para dar seguimiento al Intermediario de servicio • Capacidad para guardar resultados de seguimiento como XML

  7. RepasoAsesor de ajustes de base de datos • DTA reemplaza al Asesor de ajustes de índices • Establezca qué esquemas de índice y partición se deben utilizar • Analice las cargas de trabajo, genere recomendaciones y secuencias de comandos

  8. Consulta: Al diseñar un plan de mantenimiento, usted desea ejecutar... • [Consulta de opción múltiple de PlaceWare. Utilice PlaceWare > Editar propiedades de la diapositiva...Para editar.] • Todas las bases de datos. • Todas las bases de datos del sistema. • Todas las bases de datos del usuario. • Todas las bases que no son del sistema.

  9. RepasoFlujo de trabajo de mantenimiento de la base de datos Al diseñar un plan de mantenimiento, usted desea ejecutar una tarea específica sobre todas las bases de datos excepto en la master, model, msdb y tempdb. ¿Cuál opción debe seleccionar de las listas desplegables de bases de datos en las propiedades de tareas? • Todas las bases de datos. • Todas las bases de datos del sistema. • Todas las bases de datos del usuario. • Todas las bases que no son del sistema.

  10. Consulta: ¿Qué evento de SQL Profiler le permite dar seguimiento a los parti... • [Consulta de opción múltiple de PlaceWare. Utilice PlaceWare > Editar propiedades de la diapositiva...Para editar.] • Lock:Deadlock. • Lista de interbloqueos. • Bloqueo: Cadena de interbloqueos. • Proceso: Interbloqueo.

  11. RepasoSQL Profiler ¿Que evento de SQL Profiler le permite dar seguimiento a los participantes involucrados en un ciclo de interbloqueo? • Lock:Deadlock. • Lista de interbloqueos. • Bloqueo: Cadena de interbloqueos. • Proceso: Interbloqueo.

  12. Consulta: Al utilizar el DTA para analizar una carga de trabajo, la base de datos... • [Consulta de opción múltiple de PlaceWare. Utilice PlaceWare > Editar propiedades de la diapositiva...Para editar.] • Verdadero. • Falso.

  13. RepasoAsesor de ajuste de la base de datos Al utilizar el DTA para analizar una carga de trabajo, la base de datos se debe ejecutar en modo de usuario único. • Verdadero. • Falso.

  14. Agenda • Repaso • Aislamiento de instantáneas • Instantáneas de la base de datos • Vistas dinámicas de administración

  15. Aislamiento de instantáneasDescripción general de aislamiento de instantáneas • Lasversiones de fila se utilizan en lugar de bloqueos • Reduce la contención y los riesgos de bloqueo • Incrementa la concurrencia • Las filas modificadas se copian en tempdb • Se marcan con el número de secuencia de la operación (XSN) • Las versiones están en cadena como una lista vinculada • Dos enfoques posibles: • Nivel de aislamiento comprometido a la lectura con versiones de fila • Nivel de aislamiento de instantáneas

  16. Aislamiento de instantáneasUtilizando READ_COMMITTED_SNAPSHOT • Seleccione la opción de la base de datos • El aislamiento comprometido con la lectura utiliza versiones de filas en lugar de bloqueos • Implementa concurrencia optimista en lugar concurrencia pesimista • Utilice la señal READCOMMITTEDLOCK para utilizar bloqueos ALTER DATABASE AdventureWorks SET READ_COMMITTED_SNAPSHOT ON

  17. Aislamiento de instantáneasUtilizando ALLOW_SNAPSHOT_ISOLATION • Establecer la opción de la base de datos • Establezca el nivel de aislamiento para que la sesión realice instantáneas • Actualice los conflictos detectados automáticamente • Se eliminó la operación y surgió la excepción • Evita el escenario “actualización pérdida” ALTER DATABASE AdventureWorks SET ALLOW_SNAPSHOT_ISOLATION ON SET TRANSACTION ISOLATION LEVEL SNAPSHOT

  18. Aislamiento de instantáneasComparación de los niveles de aislamiento de instantáneas

  19. demo • Aislamiento de instantáneas • Utilizar el nivel predeterminado de aislamiento READ COMMITTED • Utilizar READ_COMMITTED_SNAPSHOT • Utilizar ALLOW_SNAPSHOT_ISOLATION

  20. Aislamiento de instantáneasConsideraciones de las versiones de filas • Tamaño de tempdb • Las operaciones de larga ejecución puede llenar tempdb • Supervisar con PerfMon • ALLOW_SNAPSHOT_ISOLATION puede no entrar en vigor inmediatamente debido a operaciones activas • Revise snapshot_isolation_state_desc en sys.databases • Rendimiento general de SQL Server • La actividad de las versiones de la fila en tempdb puede incurrir en gastos administrativos • Evalúe los requerimientos antes de habilitar el aislamiento de instantáneas

  21. Consulta: Ha activado la opción READ_COMMITTED_SNAPSHOT en... • [Consulta de opción múltiple de PlaceWare. Utilice PlaceWare > Editar propiedades de la diapositiva...Para editar.] • Establecer el nivel de aislamiento para SNAPSHOT en cada sesión de cliente. • Especificar la señal de bloqueo READCOMMITTEDLOCK en sus consultas. • Especificar la instrucción BEGIN TRAN antes de todas las consultas. • Nada - el nivel predeterminado de aislamiento READ COMMITTED ahora utilizará las versiones de filas en lugar de los bloqueos.

  22. RepasoAislamiento de instantáneas Ha activado la opción READ_COMMITTED_SNAPSHOT en una base de datos. ¿Qué más debe hacer para asegurar que se utilice las versiones de filas? • Establecer el nivel de aislamiento para SNAPSHOT en cada sesión de cliente. • Especificar la señal de bloqueo READCOMMITTEDLOCK en sus consultas. • Especificar la declaración BEGIN TRAN antes de todas las consultas. • Nada - el nivel predeterminado de aislamiento READ COMMITTED ahora utilizará las versiones de filas en lugar de los bloqueos.

  23. Consulta: Desea evitar “actualizaciones pérdidas” en las operaciones que ... • [Consulta de opción múltiple de PlaceWare. Utilice PlaceWare > Editar propiedades de la diapositiva...Para editar.] • Activar la opción ALLOW_SNAPSHOT_ISOLATION, establecer el nivel de asilamiento para SNAPSHOT en cada sesión de cliente. Agregar código para manejar los errores de conflicto. • Activar la opción READ_COMMITTED_SNAPSHOT en la base de datos. • Utilizar una señal de bloqueo HOLDLOCK. • Utilizar el nivel de aislamiento REPEATABLE READ.

  24. RepasoAislamiento de instantáneas Desea evitar “actualizaciones pérdidas” en las operaciones que leen datos antes de modificarlos mientras que minimiza los bloqueos ¿ qué debe hacer? • Activar la opción ALLOW_SNAPSHOT_ISOLATION, establecer el nivel de aislamiento para SNAPSHOT en cada sesión de cliente. Agregar código para manejar los errores de conflicto. • Activar la opción READ_COMMITTED_SNAPSHOT en la base de datos. • Utilizar una señal de bloqueo HOLDLOCK. • Utilizar el nivel de aislamiento REPEATABLE READ.

  25. Agenda • Repaso • Aislamiento de instantáneas • Instantáneas de la base de datos • Vistas dinámicas de administración

  26. Instantáneas de la base de datosDescripción general de las instantáneas de la base de datos • Copia estática y de sólo lectura de la base de datos • Operación consistente en un punto en el tiempo • No almacena todas las páginas de datos • Lee sólo las páginas de datos originales • Página en la base de datos fuente y no han cambiando los datos • Página en la instantánea si han cambiado los datos • Incrementa la E/S del disco de la base de datos fuente

  27. Instantáneas de la base de datosCómo funcionan las instantáneas de la base de datos BD Fuente FB Instantánea SELECCIONAR …

  28. Instantáneas de la base de datosCómo funcionan las instantáneas de la base de datos BD Fuente BD Instantánea SELECCIONAR … ACTUALIZAR … Copiar al escribir

  29. Instantáneas de la base de datosCómo funcionan las instantáneas de la base de datos BD Fuente BD Instantánea SELECCIONAR … ACTUALIZAR … SELECCIONAR … Copiar al escribir

  30. Instantáneas de la base de datos Escenarios de las instantáneas de la base de datos • Informes históricos de punto en el tiempo • Habilitar la base de datos de copia para informes • Recuperarse de errores administrativos • Proteger contra errores de la aplicación o del usuario

  31. Instantáneas de la base de datosAdministrar instantáneas de la base de datos • Crear una instantánea de la base de datos • Revertir a una instantánea de la base de datos • Eliminar una instantánea de la base de datos CREATE DATABASE AdventureWorks_Snapshot_Q1 ON (NAME = AdventureWorks_Data, FILENAME = 'D:\Data\AWSSQ1_data.mdf') AS SNAPSHOT OF AdventureWorks RESTORE DATABASE AdventureWorks FROM DATABASE_SNAPSHOT = 'AdventureWorks_Snapshot_Q1' DROP DATABASE AdventureWorks_Snapshot_Q1

  32. demo • Instantáneas de la base de datos • Crear una instantánea de la base de datos • Acceder a la instantánea de la base de datos • Utilizar una instantánea de la base de datos para recuperarse de un error del usuario • Revertir a una base de datos hacia una instantánea de la base de datos

  33. Instantáneas de la base de datosConsideraciones de la instantánea de la base de datos • Están prohibidas las instantáneas de model, master y tempdb • Las actualizaciones en la base de datos fuente incurren en los costos administrativos del rendimiento debido a la actividad de copiar al escribir • Las instantáneas deben estar en la misma instancia que la base de datos fuente • Las instantáneas sólo se pueden crear en las particiones NTFS • Suelte las instantáneas antes de soltar la base de datos fuente • No puede respaldar, restaurar, adjuntar o separar instantáneas • La indexación de texto completo no se soporta en las instantáneas

  34. Consulta: Observa que sus archivos de base de datos de instantáneas son aprox... • [Consulta de opción múltiple de PlaceWare. Utilice PlaceWare > Editar propiedades de la diapositiva...Para editar.] • Nada – Las instantáneas son copias exactas de la base de datos fuente. • Usted ha creado la base de datos de instantáneas en una partición FAT32. • Todas las páginas en la base de datos fuente han sido modificadas desde que se creó la base de datos de instantáneas. • La base de datos fuente es de sólo lectura.

  35. RepasoInstantáneas de la base de datos Observa que sus archivos de base de datos de instantáneas son aproximadamente del mismo tamaño que los archivos de la base de datos fuente. ¿Qué significa esto? • Nada – Las instantáneas son copias exactas de la base de datos fuente. • Usted ha creado la base de datos de instantáneas en una partición FAT32. • Todas las páginas en la base de datos fuente han sido modificadas desde que se creó la base de datos de instantáneas. • La base de datos fuente es de sólo lectura.

  36. Consulta: Desea revertir una base de datos al estado en el que se encontraba... • [Consulta de opción múltiple de PlaceWare. Utilice PlaceWare > Editar propiedades de la diapositiva...Para editar.] • Respaldar la instantánea de la base de datos, y luego restaurar la base de datos fuente desde el respaldo. • Soltar todas las tablas en la base de datos fuente. Generar una secuencia de comandos para todos los objetos en la instantánea de la base, ejecutarla. Copiar los datos de la instantánea a la base de datos. • Restaurar la base de datos fuente desde la instantánea de la base. • Separar la instantánea de la base de datos. Eliminar la base de datos fuente. Readjuntar la instantánea de la base de datos, cambiando su nombre.

  37. RepasoInstantáneas de la base de datos Desea revertir una base de datos de regreso al estado en el que se encontraba cuando creó una instantánea de la base de datos. ¿Qué debe hacer? • Respaldar la instantánea de la base de datos, y luego restaurar la base de datos fuente desde el respaldo. • Soltar todas las tablas en la base de datos fuente. Generar una secuencia de comandos para todos los objetos en la instantánea de la base, ejecutarla. Copiar los datos de la instantánea a la base de datos. • Restaurar la base de datos fuente desde la instantánea de la base. • Separar la instantánea de la base de datos. Eliminar la base de datos fuente. Readjuntar la instantánea de la base de datos, cambiando su nombre.

  38. Agenda • Repaso • Aislamiento de instantáneas • Instantáneas de la base de datos • Vistas dinámicas de administración

  39. Vistas dinámicas de administraciónReseña de las vistas dinámicas de administración • Vistas y funciones del sistema • Proporcionan acceso a los datos dinámicos de diagnóstico (no persistentes) • La convención es sys.dm_meaningful_name SELECT session_id, login_name, host_name, program_name FROM sys.dm_exec_sessions SELECT IndexType, Depth, AvgFragmentation FROM sys.dm_db_index_physical_stats('Production.Product', 'AK_Product_Name', NULL, NULL)

  40. Vistas dinámicas de administraciónVistas dinámicas de administración - Aislamiento • Vistas dinámicas de administración para bloqueos y operaciones • sys.dm_tran_locks • sys.dm_tran_active_transactions • sys.dm_tran_database_transactions • sys.dm_tran_session_transactions • Funciones dinámicas de administración para el aislamiento de instantáneas • sys.dm_tran_active_snapshot_database_transactions() • sys.dm_tran_current_snapshot() • sys.dm_tran_current_transaction() • sys.dm_tran_top_version_generators() • sys.dm_tran_transactions_snapshot() • sys.dm_tran_version_store()

  41. demo • Vistas dinámicas de administración • Utilizar vistas dinámicas de administración para supervisar bloqueos y aislamientos

  42. Consulta: Las vistas dinámicas de administración se crearon con el objetivo de reemplazar t... • [Consulta de opción múltiple de PlaceWare. Utilice PlaceWare > Editar propiedades de la diapositiva...Para editar.] • Verdadero • Falso

  43. RepasoVistas dinámicas de administración Las vistas dinámicas de administración tienen la intención de reemplazar las vistas de metadatos estáticos de versiones anteriores de SQL Server. • Verdadero • Falso

  44. Consulta: Desea encontrar detalles de los bloqueos actuales en una base de datos... • [Consulta de opción múltiple de PlaceWare. Utilice PlaceWare > Editar propiedades de la diapositiva...Para editar.] • sys.dm_tran_locks • sys.dm_tran_active_transactions • sys.dm_tran_current_transaction() • sys.dm_tran_version_store()

  45. RepasoVistas dinámicas de administración Desea encontrar detalles de los bloqueos actuales en una base de datos. ¿Cuál vista dinámica de administración debe consultar? • sys.dm_tran_locks • sys.dm_tran_active_transactions • sys.dm_tran_current_transaction() • sys.dm_tran_version_store()

  46. Resumen de la sesión • Utilice el aislamiento de instantáneas para minimizar los bloqueos • Utilice las instantáneas de la base de datos para informes de datos punto en el tiempo y de sólo lectura para reducir la contención • Supervise los bloqueos y las operaciones con vistas dinámicas de administración

  47. Pasos a seguir Información del producto SQL Server 2005: http://www.microsoft.com/sql/2005/default.asp Actualice sus habilidades de administración de bases de datos a SQL Server 2005: http://www.microsoft.com/learning/syllabi/en-us/2733afinal.mspx Difusión por el Web de SQL Server 2005 en MSDN: http://msdn.microsoft.com/sql/2005/2005Webcasts/default.aspx

  48. Para mayores informes… • Visite TechNet enwww.microsoft.com/technet • Para obtener información adicional sobre los libros, cursos y otros recursos de la comunidad que respalden esta sesión visite www.microsoft.com/technet/tntx-xx

  49. Serie de las difusiones por el Web:SQL Server 2005 – ¡Prepárese! ¡Lunes, 9:00 A.M. hora del Pacífico durante 10 semanas! del 21 de marzo al 18 de mayo, 2005 Microsoft SQL Server 2005 está en camino, e incluirá mejoras importantes en el rendimiento, disponibilidad, seguridad y el conjunto más poderoso y flexible de herramientas de productividad DBA que hayamos entregado jamás. Al utilizar presentaciones interactivas y demos en vivo del producto, lo guiaremos a través de todas las funciones y mejoras principales integradas en SQL Server 2005 para darle un gran inicio en sus planes de integrar estos beneficios en su organización. Bono:¡Asista a una difusión por el Web en esta serie y envíe una evaluación, recibirá una copia de la versión más reciente de la versión en desarrollo del software de SQL Server 2005 en CD! Además, ¡asista a cualquier difusión por el Web en vivo de Microsoft durante junio y podrá ganar un Centro de medios portátil! http://www.microsoft.com/seminar/events/series/technetsqlserver2005.mspx

More Related