Documentos de Académico
Documentos de Profesional
Documentos de Cultura
SQL 2008 TS-SQL News PDF
SQL 2008 TS-SQL News PDF
• Características
– Finalización de palabras
– Sentencias resumen (outline statements)
– Subrayado de errores
– configurable
• ¿Cuando no está disponible?
– Existe un código de error sobre el cursor
– Estas dentro de un comentario
– Estas dentro de una cadena literal
– Las opciones automáticas están desactivadas
Mejoras T-SQL
Solid Quality Mentors 6
Constructores de fila
Constructores de fila
Constructores de fila
Solid Quality Mentors 8
Parámetros de tabla
Motivación
• Escenarios
• Actualización en lotes del servidor
• Parámetros en lote para usar en consultas
• Pasar una tabla entre rutinas
• Migración de otras bases de datos
– Los datos almacenados son tabulares!
– Criterio común
– Gran cantidad de datos pasados desde el cliente al
servidor
– Aplicación de lógica de negocio antes de actualizar
datos de forma persistente
– Ej. Data mining, sistemas de inventariado, herramientas
ETL
• Soluciones actuales
– Uso de arrays de parámetros, XML o blobs
propietarios
– Re-ensamblado de filas en el lado servidor
• Lógica de programación compleja
• Sin soporte para operaciones de conjuntos
• Bajo rendimiento debido a múltiples viajes de ida y vuelta
• Parámetros de tabla
– Tipo de datos definidos por el usuario para datos tabulares
– Paso de datos tabulares a
• Procedimientos almacenados y funciones
– Completo soporte en la pila del cliente
• Procedimientos almacenados
– Procesa transacciones de negocio completas
– Un procedimiento hace todo en orden de llegada
Parámetros de tabla
Solid Quality Mentors 17
Parámetros de tabla
Soporte: soporte a pilas cliente
SqlParameter ahora acepta Array de buffers lincado a los Introducido IRowset que soporta
DataTable arrays de parámetros análogos buffering
• Herramientas
– Soportado desde SSMS
– Soporte SMO
– Soporte del Profiler con Replay
• Replicación
– La replicación soporta SPs que contienen TVPs
– Replicación de tipos de datos tabla
• Sentencia MERGE
MERGE <source>
USING (SELECT <expression>FROM <target>) <alias>
ON <intersection>
WHEN MATCHED
THEN <UPDATE | DELETE>
WHEN TARGET NOT MATCHED [AND <conditions>]
THEN <INSERT>
WHEN SOURCE NOT MATCHED [AND <conditions>]
THEN <UPDATE | DELETE>
• MERGE INTO
– Tabla objetivo
• USING
– Tabla fuente (o expresión de tabla)
• ON
– Definición de predicado similar al join
Sentencia MERGE
Solid Quality Mentors 28
Sentencia Merge
Limitaciones
• ¿Por qué?
– Historial de dimensiones lentamente cambiantes
– Vertido de secuencias de datos DML en una tabla
secundaria para post-procesado
Agrupación de conjuntos
Solid Quality Mentors 41
Agrupación de conjuntos
Alternativa a los cubos de Analisis Services
Dependencias de objeto
Solid Quality Mentors 46
Introducción al seguimiento de datos
Entendiendo el cambio
Servicios de Active • ¿Qué cambios de configuración ocurrieron desde la última vez que
sincronice?
Directory
• Columnas actualizadas
Información de • Tipo de operación
cambio • Información transaccional
• Objeto fuente
– Objeto del cual quieres seguir los cambios
– De momento solo tablas
• Instancia de captura
– Cada instancia de captura crea una tabla con los
cambios
– Cada tabla puede tener 2 instancias de captura
– Diferentes instancias para capturar diferentes
esquemas
• Proceso de captura
– Lee el log de transacciones y rellena las tablas de
cambio
• Tablas de cambio
– Contienen los cambios de las tablas con seguimiento
– Esquema similar al objeto fuente
– Metadatos adicionales
• APIs de enumeración
– TVF(funciones de tabla)
– Usado para el acceso a los datos de seguimiento
• Modelo de seguridad
– Acceso a los datos modificados mediante TVF´s
– Como mínimo se requiere acceso a todas las
columnas con seguimiento de la tabla base
– El rol CDC provee una capa adicional de seguridad
No CDC 4,3
Caching
Ej. Catálogos de producto de
solo lectura Web
Service
SQL Server 2008:
Seguimiento de
Cliente(s) con cache
cambios
Guardados offline
Ej. Ordenes de producto
actualizables , modo de
cacheo de outlook, repartir el
estado de los registros
SQL Server 2008:
Seguimiento de
Cliente(s) con almacenamiento offline cambios
• Función CHANGETABLE()
– Devuelve una tabla
– Parámetro CHANGES
• Devuelve las filas modificadas basadas en una versión
específicas
• La versión ha de mantenerse llamando a la aplicación
– Parámetro VERSION
• Siempre se devuelve la última versión de las filas
• Útil para chequear versiones ante conflictos
• Otras funciones
– Para obtener versiones antiguas o actuales de una
tabla
– Para chequear mascaras de bits ante actualizaciones
Solid Quality Mentors 78
Seguimiento de cambios
Acceso a datos modificados: seguridad
• Periodo de retención
– Determina la cantidad de datos sobre seguimiento de
cambios almacenada
– Especificado como parte de la configuración de
BBDD
– Tarea en background del motor para realizar las
limpiezas
– Los clientes deben sincronizarse con mas frecuencia
que el periodo de retención
• Información sobre configuración
– Disponible desde SSMS y vistas del catálogo
• En comandos DML
– Cerca del mantenimiento de índices en una tabla
5% 38%
INSERT INSERT
10% 10%
13% 68%
UPDATE UPDATE
11% 11%
11% 36%
DELETE DELETE
17% 17%
ADO.NET
SyncAdapter
DataAdapter
Seguimiento de cambios
Solid Quality Mentors 86
Auditoria
Introducción
Audit Locations
Audit File
Specification
App Log
Audit
Specification Security Log
• Probablemente en CTP6
• Disponible solo en la versión Enterprise
• Ejemplos
AUDIT LOGON TO MyAuditFolder
AUDIT UPDATE(Salary)
ON dbo.Employee
TO MyAuditFolder
WHERE Salary>200000,
Ediciones Todas las ediciones Solo versión Enterprise Solo versión Enterprise
Disponibilidad CTP de noviembre CTP de Junio CTP6
Solid Quality Mentors 90
Bloqueos y consejos
Escalado de bloqueos
• AUTO
– El motor elige la granularidad de escalado apropiada
para el esquema de tabla
• Si la tabla es particionada: granularidad HoBT
• Sino : granularidad de TABLA
• TABLE
– Escalado granulado a nivel de tabla
– Mismo comportamiento que en SQL Server 2005
– Método por defecto
• DISABLE
– Previene el escalado de bloqueo en la mayoría de los
casos
Solid Quality Mentors 92
Bloqueos y consejos
FORCESEEK
can
• Antes de usarlo
– Asegura que las estadísticas estén actualizadas y fiables!
– Habilita la auto creación/actualización manual
– Evaluación de cardinalidad pobre en estimaciones de
coste
– Los consejos siempre limitan las elecciones del
optimización
• No usar
– Consejo INDEX(0) con FORCESEEK
• Fuerza un escaneo de la tabla base para el que no se
encuentra ningún plan (error)
– Consejo USE PLAN con FORCESEEK
• El último se ignora
Solid Quality Mentors 95
Bloqueos y consejos
Consejos de tabla en consejos de consulta
• Diagnósticos
• Prioridades de conversación