SQL Server 2005. Comunidad TechNet Regístrate en:

Slides:



Advertisements
Presentaciones similares
Código: HOL-SQL29. Permite la encriptación de ficheros de registro y de datos mediante clave de encriptación de datos (Database Encryption Key) Encriptación.
Advertisements

Diseño de Bases de Datos
Seguridad en SQL Server 2005 para Desarrolladores.
Seguridad en SQL Server 2005
Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación.
VISTAS (VIEWS) DEFINICIÓN Y OBJETIVO DE LAS VISTAS.
Estadísticas en SQL Server Rocío Contreras Águila, Primer Semestre 2010.
Rocío Contreras Águila Primer Semestre 2010
Implementación de funciones definidas por el usuario
Implementación de vistas
Implementación de la integridad de datos
Especialista en Business Intelligence Integration Services SSIS (Sesión 5) Microsoft SQL Server 2008 R2 (Nov.2013) Suscribase a o.
SQL Server Integration Services SSIS
Maestría en Bioinformática Bases de Datos y Sistemas de Información SQL: DML Ing. Alfonso Vicente, PMP
Lenguaje de consulta de Hibernate
TNT4-05. Mejoras a la indexación Lo que vamos a cubrir: Mejoras al índice en SQL Server 2005 Fragmentación del índice Ajuste del índice.
Gestión Basada en Directivas en SQL Server 2008
SQL Server Comunidad TechNet Regístrate en:
Julio Pacheco SQL SERVER 2005 XML APRENDIENDO CON EJEMPLOS.
EXPLAIN PLAN Cómo leer los resultados del EXPLAIN PLAN
• SQL Server Integration Services SSIS
4.3. Privilegios de usuarios
Módulo 14 Programación para DBA. TEMARIO Programación y DBAProgramación y DBA.NET Framework.NET Framework Arquitectura ADO.NETArquitectura ADO.NET.NET.
BASE DE DATOS DISTRIBUIDAS
MySQL M.C. Pedro Bello López.
Especialista en Business Intelligence Integration Services SSIS Transformaciones (Parte 2) Microsoft SQL Server 2008 R2 Suscribase a
Bases de Datos Relacionales
“Optimización de sentencias MySQL” jueves 26 de septiembre de 2013.
Subconsultas Avanzadas
Bases de Datos Índices.
6 Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados. Visualización de Datos de Varias Tablas Utilizando Uniones.
Bases de datos en la Web n Las bases de datos permiten almacenar de una forma estructurada y eficiente toda la información de un sitio web n Ventajas –Proporcionar.
Una base de datos es un “almacén” que nos permite guardar grandes cantidades de información de forma organizada para que luego podamos encontrar y utilizar.
Gestión de Objetos con Vistas de Diccionario de Datos
F Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados. Sintaxis de Unión en Oracle.
Bases de Datos Oracle Optimización
UNITA - IBARRA TRIGGERS
tipo de datos uniqueidentifier
Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 11 Creando Vistas.
Inteligencia de Negocios Buenos Aires, mayo de 2009 U.T.N. – F.R.B.A. Prof: Ing. Pablo Cigliuti Ayud: Ing. Rafael Rizzo.
Diseñando la arquitectura de aplicaciones empresariales. Acceso al SQL Server.- Autenticación de usuario:
Félix Tovar C.I: Daniel Hernández C.I:
CAPITULO 4 Despliegue de Datos Desde Múltiples Tablas
Programación en Visual Basic Lección #8: SQL Por Antonio F. Huertas.
Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 12 Otros Objetos de la Base de Datos.
DDL Unidad 2. Lenguaje estándar SQL El SQL es un lenguaje estándar de definición y manipulación (y consulta) de bases de datos relacionales. El SQL estándar.
Mejorando el Acceso a tu Base de Datos SQL Server Eladio Rincón Mentor y SQL Server MVP Solid Quality Mentors DEV305.
Interprete SQL Julian Kiper Fernando Puletti. Requerimientos Construcción de un Intérprete SQL sobre Archivos Planos que pueda realizar: – Consultas sobre.
Especialista en Business Intelligence Integration Services SSIS Transformaciones (Parte 3) Microsoft SQL Server 2008 R2 Suscribase a
PROCEDIMIENTOS ALMACENADOS Es una consulta almacenada en la base de datos en un servidor. Los P.A. Mejoran el Rendimiento Disminuyen el tráfico. Los P.A.
Diseño de una base de datos y elementos básicos Integrantes: López Ponce de León José Efrén Velazquez Martínez Brenda Equipo:10Grupo:307.
INSTRUCCIONES Elaboración de la Presentación:
Prof. Daniel Obando Fuentes
Para crear una vista debemos utilizar la sentencia CREATE VIEW, debiendo proporcionar un nombre a la vista y una sentencia SQL SELECT válida. CREATE.
SQL (Structured Query Language) Lenguaje orientado a bases de datos y sobre todo, al manejo de consultas; el objetivo principal de SQL es la realización.
MSSQL SERVER CURSO BÁSICO 1. CONCEPTOS BASICOS DE SQL. DESCRIPCIÓN DEL CURSO. Sesión 3: Índices Uso, Creación, Tipos, Eliminación LENGUAJE DE CONSULTAS.
MSSQL SERVER CURSO BÁSICO 1. DESCRIPCIÓN DEL CURSO. Sesión 4: Sentencia Insert,Transacciones,Insert general, Insert Select * From, Sentencia Update,Update.
Comandos DDL Los comandos DDL son las siglas de Data Definition Language, y se corresponde con el conjunto de órdenes que permiten definir las estructuras.
SQL es un estándar internacional para trabajar con bases de datos, que consta de dos partes: una parte para manipular datos y una parte para definir tipos.
SQL Lenguaje Estructurado de Consultas. Structured Query Lenguaje (SQL). Lenguaje de acceso a bases de datos. Proyecto de Investigación de IBM. La mayoria.
Usuarios. Colocar el servidor en el modo de autenticación Windows/SqlServer. En SQL Server Management Studio, click derecho, Propiedades en la Instancia.
SQL es el lenguaje de comunicación entre el programa cliente y programa servidor; Oracle es un programa servidor, en el que está la base de datos propiamente.
Diccionario/Directorio de Datos
Bases de datos II Universidad del Cauca Ing. Wilson Ortega.
Structure Query Languaje SQL. Introducción a SQL El lenguaje de consulta estructurado (SQL) es un lenguaje de base de datos normalizado, utilizado por.
Copyright  Oracle Corporation, All rights reserved. 12 Otros Objetos de la Base de Datos.
DML Transact SQL Sesión X Triggers. Duración 2 Horas.
DML Transact SQL Sesión IX Introducción a los procedimientos almacenados.
DML Transact SQL Sesión VI Trabajando con subconsultas.
DML Transact SQL Sesión V Consultando múltiples tablas.
Transcripción de la presentación:

SQL Server 2005

Comunidad TechNet Regístrate en:

Gestión de Bases de Datos Grandes

Que veremos hoy: Conceptos de Tablas e Índices particionados Como utilizar Tablas e Índices particionados

Prerrequisitos Level 200 Conocimiento de sentencias Transact-SQL Conocimiento básico de tablas e indices

Agenda Revisión (tema anterior) Vista general de tablas e índices particionados Implementación de particionamiento

Revisión Encripción de Datos Datos Algoritmo Datos encriptados Decripción Encripción

Revisión Encripción de datos en SQL Server 2005 Se utiliza una llave simétrica para encriptar los datos La llave pública del certificado principal se utiliza para encriptar la llave simétrica Simetría Tabla Base de Datos

Revisión Firmas modulares SELECT * FROM sales.customer SELECT * FROM sales.customer

Revisión Encripción de datos en SQL Server 2005 Razones por las cuales se deben encriptar los datos con llaves simétricas, y después encriptar la llave simétrica con un certificado personal, en lugar de solo encriptar los datos asimétricamente con el certificado? 1.No se pueden encriptar los datos directamente con el certificado. 2.La llave publica del certificado puede utilizarse para decriptar los datos. 3.La encripción simétrica es mas rápida que la encripción asimétrica. 4.La encripción simétrica es mas segura que la asimétrica.

Revisión Firmas modulares En el momento en que un principal asociado con un certificado obtiene permisos, un modulo firmado con el mismo certificado obtiene acceso a los objetos dependientes, sin importar quien los utilice. 1. Verdadero. 2. Falso.

Agenda Revisión Vista general de tablas e índices particionados Implementación de particionamiento

Tablas e Índices particionados Datos Particionados Sin datos almacenados en múltiples objetos físicos, pero que se manejan como un solo objeto lógico.

Tablas e Índices particionados Tablas Particionadas vs Vistas Particionadas Tabla ParticionadaVista Particionada Query PlansUn objeto = optimización rápidaMúltiples objetos T-SQLSoporta Auto-ParametrizaciónSin Auto-Parametrización Bulk Copy / InsertInserción directa a las tablasReferencia a la tabla indicada Numero de Particiones 1000 por tablaRestricciones de uso Método de AccesoParaleloSecuencial UbicaciónUna sola base de datosMúltiples bases de datos e inst.

Tablas e Índices particionados Beneficios de las tablas particionadas Facilidad de uso Facilidad de borrado y carga de datos Backup parcial / Restauración de datos históricos Manejo inteligente de índices particionados Minimiza la fragmentación de índices para tablas históricas particionadas Soporta alternativas de almacenamiento para datos históricos Desempeño Mayor eficiencia en Joins Árboles de índices mas pequeños y/o escaneo de tablas cuando se consulta a una sola partición Gran concurrencia

Tablas e Índices particionados Índices particionados Los índices pueden particionarse de forma independiente a las tablas Crear un índice en una tabla particionada da como resultado un índice alineado y particionado

Tablas e Índices particionados Índices particionados - Alineación Índices Alineados Los argumentos de los tipos de datos del índice particionado coinciden a los de las tablas El índice tiene el mismo numero de particiones que las tablas Los rangos particionados del índice coinciden a los de las tablas Índices No-Alineados El índice se encuentra particionado de forma distinta a las tablas Las particiones no se pueden cambiar

Tablas e Índices particionados Índices particionados – Llaves indexadas Los índices únicos deben incluir una columna de partición La columna de partición es agregada automáticamente para índices cluster La columna de partición es agregada automáticamente para índices no cluster en tablas previamente particionadas

Tablas e Índices particionados Funciones Particionadas Definir los tipos y valores de la partición Numero de particiones = numero de valores de partición + 1 Los limites de valores incluidos pueden ser LEFT o RIGHT Valor de partición: Rango (LEFT): Rango (RIGHT): <=100 < >300 >=300

Tablas e Índices particionados Esquemas Particionados Mapear particiones en una función de partición para filegroups Facilita los respaldos por partes Se puede especificar un filegroup siguiente

Revisión Revisión de Tablas e Índices Particionados Los datos en una tabla particionada puede consultarse desde múltiples 1. Filegroups. 2. Bases de Datos. 3. Instancias. 4. Servidores.

Revisión Revisión de Tablas e Índices Particionados Cual es el objetivo de una función de partición? 1.Mapear particiones a los filegroups. 2.Para definir el numero de particiones, el tipo de datos de la llave de particionamiento, y los rangos de valores. 3.Para regresar información del particionamiento en la base de datos actual. 4.Para obtener datos de múltiples tablas como si fuese una sola vista agregada.

Agenda Revisión Vista general de tablas e índices particionados Implementación de particionamiento

Implementando Particiones Creando una función particionada CREATE PARTITION FUNCTION pf_EmployeeIDs (int) AS RANGE LEFT FOR VALUES (100, 200, 300) CREATE PARTITION FUNCTION pf_EmployeeIDs (int) AS RANGE LEFT FOR VALUES (100, 200, 300) CREATE PARTITION FUNCTION Partition function name Partitioning Type LEFT | RIGHT Partitioning values

Implementando Particiones Creando un esquema Particionado CREATE PARTITION SCHEME –Nombre del Esquema Partcionada –Fucnión Particionada –Grupo de archivos CREATE PARTITION SCHEME ps_EmpScheme AS PARTITION pf_EmployeeIDs TO (FG1, FG2, FG3, FG4, FG5) CREATE PARTITION SCHEME ps_EmpScheme AS PARTITION pf_EmployeeIDs TO (FG1, FG2, FG3, FG4, FG5)

Implementando Particiones Creando una tabla Particionada CREATE TABLE En el esquema particonado (partition column) Usar la clausula MOVE TO de ALTER TABLE CREATE TABLE EmployeeVacations ( VacationEventID int, EmployeeID int, StartDate datetime, EndDate datetime ) ON ps_EmpScheme(EmployeeID) CREATE TABLE EmployeeVacations ( VacationEventID int, EmployeeID int, StartDate datetime, EndDate datetime ) ON ps_EmpScheme(EmployeeID)

Implementando Particiones Creando un indice particionado CREATE INDEX En el esquema particionado (partition column) El Default debe coincidir en la tabla particionada El indice unico debe ser includio en la columna particionada CREATE NONCLUSTERED INDEX idx_VacationDate ON EmployeeVacations(StartDate) ON ps_EmpScheme(EmployeeID) –- redundant in this case CREATE NONCLUSTERED INDEX idx_VacationDate ON EmployeeVacations(StartDate) ON ps_EmpScheme(EmployeeID) –- redundant in this case CREATE UNIQUE NONCLUSTERED INDEX idx_VacationID ON EmployeeVacations(VacationEventID, EmployeeID) ON ps_EmpScheme(EmployeeID) CREATE UNIQUE NONCLUSTERED INDEX idx_VacationID ON EmployeeVacations(VacationEventID, EmployeeID) ON ps_EmpScheme(EmployeeID)

Implementando Particiones Consultas a una tabla particionada Use el comando partitioning en la sentencia WHERE para minimizar las particiones buscadas Use tablas alineadas, particionadas en los campos JOIN SELECT StartDate, EndDate FROM EmployeeVacations WHERE EmployeeID = 175 SELECT StartDate, EndDate FROM EmployeeVacations WHERE EmployeeID = 175 SELECT e.FirstName, e.LastName, v.StartDate FROM EmployeeVacations v INNER JOIN Employees e ON v.EmployeeID = e.EmployeeID WHERE EmployeeID BETWEEN 150 AND 175 SELECT e.FirstName, e.LastName, v.StartDate FROM EmployeeVacations v INNER JOIN Employees e ON v.EmployeeID = e.EmployeeID WHERE EmployeeID BETWEEN 150 AND 175

Implementando Particiones Obteniendo información de la partición $Partition function Vistas de catalogo sys.partitions sys.tables sys.indexes sys.partition_functions sys.partition_schemes sys.partition_range_values sys.partition_parameters SELECT EmployeeID, $Partition.pf_EmployeeIDs PartitionNo FROM EmployeeVacations SELECT EmployeeID, $Partition.pf_EmployeeIDs PartitionNo FROM EmployeeVacations

Tablas particionadas Creando una función de partición y esquema Creando una función de partición y esquema Creando una tabla particionada Creando una tabla particionada Creando índices particionados Creando índices particionados demo demo

Implementando Particiones Intercambiando Particiones Cambiar el contenido de una tabla con datos o partición con una tabla vacía o partición Switch Out ALTER TABLE EmployeeVacations SWITCH PARTITION 1 TO Emp1To100Vacations -- Switch Out ALTER TABLE EmployeeVacations SWITCH PARTITION 1 TO Emp1To100Vacations Emp1To100Vacations -- Switch In ALTER TABLE Emp1To100Vacations SWITCH TO EmployeeVacations PARTITION 1 -- Switch In ALTER TABLE Emp1To100Vacations SWITCH TO EmployeeVacations PARTITION 1

Implementando Particiones Mezclando Particiones Consolidar dos particiones en una ALTER PARTITION FUNCTION pf_EmployeeIDs() MERGE RANGE (100) ALTER PARTITION FUNCTION pf_EmployeeIDs() MERGE RANGE (100)

Implementing Partitioning Haciendo Splitting de una Partición Create a new partition and reassign data ALTER PARTITION FUNCTION pf_EmployeeIDs() SPLIT RANGE (400) ALTER PARTITION FUNCTION pf_EmployeeIDs() SPLIT RANGE (400)

Usando Tablas Particionadas Cambiando una partición Cambiando una partición Uniendo particiones Uniendo particiones Dividiendo particiones Dividiendo particiones demostración demostración

Revisión Implementando Particiones En que orden deberán ser creados los siguientes objetos de particiones? 1.Tabla particionada, función particionada, esquema particionado. 2.Esquema particionado, tabla particionada, función particionada. 3.Esquema particionado, función particionada, tabla particionada. 4.Función particionada, esquema particionado, partitioned table.

Revisión Implementando Particiones Que esperarías que hiciera una operación split? 1.Swap a populated partition with an empty table. 2.Consolidar 2 particiones en una. 3.Crear una nueva partición. 4.Particiona una tabla existente no-particionada.

Resumén de la sesión Particionar los datos puede incrementar el desempeño y mejorar la gestión Define particiones con una función particionada Mapear particiones a grupos de archivos con un esqquema particionado Creando tablas e índices particionados en esquemas particionados Usar operaciones de juntar, cambiar y dividir para manejar datos particionados

Preguntas… Visita el foro de TechNet en