Download Microsoft SQL Azure
Document related concepts
Transcript
Microsoft SQL Azure Administración y desarrollo en la nube María Pérez Marqués Microsoft SQL Azure. Administración y desarrollo en la nube María Pérez Marqués ISBN: 978-84-939450-0-8 EAN: 9788493945008 BIC: UNN; UTC Copyright © 2012 RC Libros © RC Libros es un sello y marca comercial registrados Microsoft SQL Azure. Administración y desarrollo en la nube. Reservados todos los derechos. Ninguna parte de este libro incluida la cubierta puede ser reproducida, su contenido está protegido por la Ley vigente que establece penas de prisión y/o multas a quienes intencionadamente reprodujeren o plagiaren, en todo o en parte, una obra literaria, artística o científica, o su transformación, interpretación o ejecución en cualquier tipo de soporte existente o de próxima invención, sin autorización previa y por escrito de los titulares de los derechos de la propiedad intelectual. RC Libros, el Autor, y cualquier persona o empresa participante en la redacción, edición o producción de este libro, en ningún caso serán responsables de los resultados del uso de su contenido, ni de cualquier violación de patentes o derechos de terceras partes. El objetivo de la obra es proporcionar al lector conocimientos precisos y acreditados sobre el tema tratado pero su venta no supone ninguna forma de asistencia legal, administrativa ni de ningún otro tipo, si se precisase ayuda adicional o experta deberán buscarse los servicios de profesionales competentes. Productos y marcas citados en su contenido estén o no registrados, pertenecen a sus respectivos propietarios. RC Libros Calle Mar Mediterráneo, 2. Nave 6 28830 SAN FERNANDO DE HENARES, Madrid Teléfono: +34 91 677 57 22 Fax: +34 91 677 57 22 Correo electrónico: info@rclibros.es Internet: www.rclibros.es Diseño de colección, cubierta y pre-impresión: Grupo RC Impresión y encuadernación: GJ Print Depósito Legal: M-5314-2012 Impreso en España 16 15 14 13 12 (1 2 3 4 5 6 7 8 9 10 11 12) ÍNDICE Introducción ............................................................................................... XIII Capítulo 1. Conceptos de base de datos de SQL Azure ................................. 1 EL NUEVO PORTAL DE ADMINISTRACIÓN ........................................................ INFORMACIÓN GENERAL DE SQL AZURE ......................................................... SIMILITUDES Y DIFERENCIAS CON SQL SERVER ................................................ ACCESO A DATOS DE SQL AZURE ..................................................................... Hospedar sus datos en la nube .................................................................... Hospedar su aplicación en la nube .............................................................. ARQUITECTURA DE SQL AZURE ........................................................................ El nivel de cliente ......................................................................................... El nivel de servicios ...................................................................................... El nivel de plataforma .................................................................................. Nivel de infraestructura ............................................................................... MODELO DE APROVISIONAMIENTO DE SQL AZURE ......................................... Introducción ................................................................................................ Información general sobre el modelo de aprovisionamiento de SQL Azure CUENTAS Y FACTURACIÓN EN SQL AZURE ....................................................... Ediciones de SQL Azure................................................................................ Facturación ................................................................................................ Suscripciones de SQL Azure ......................................................................... Ancho de banda en la plataforma Windows Azure ..................................... Limitar el tamaño de la base de datos con el valor MAXSIZE ...................... Acceso a los datos de facturación y uso ...................................................... 1 2 2 5 6 6 7 7 9 9 9 9 10 11 12 12 13 14 14 15 15 Capítulo 2. Administrar bases de datos e inicios de sesión en SQL Azure .... 17 ADMINISTRACIÓN EN SQL AZURE .................................................................... Administración de la seguridad de SQL Azure ............................................. Administración a nivel de servidor y la base de datos maestra ................... Administrar inicios de sesión ....................................................................... 17 17 19 19 MICROSOFT SQL AZURE Y LA NUBE Conceder permisos de nivel de servidor a un inicio de sesión .................... Conceder acceso a base de datos a un inicio de sesión ............................... Ver inicios de sesión y bases de datos ......................................................... MIGRAR BASES DE DATOS A SQL AZURE .......................................................... MIGRAR UNA BASE DE DATOS A SQL AZURE MEDIANTE EL ASISTENTE PARA GENERAR SCRIPTS ........................................................................................ Crear la base de datos de ejemplo SCHOOL ................................................ Crear el script de Transact-SQL .................................................................... Ejecutar el script en SQL Azure .................................................................... Definición de Transact-SQL de la base de datos School............................... MOVER DATOS A SQL AZURE ........................................................................... 20 22 23 23 24 24 25 25 26 40 Capítulo 3. Copiar bases de datos y supervisar SQL Azure ........................... 41 COPIAR BASES DE DATOS EN SQL AZURE ......................................................... 41 Copiar una base de datos ............................................................................ 42 Copia en el mismo servidor ......................................................................... 42 Ejemplo ........................................................................................................ 43 COPIA ENTRE SERVIDORES ............................................................................... 44 Ejemplo ........................................................................................................ 45 PERMISOS......................................................................................................... 46 INTERVALOS ..................................................................................................... 47 INICIAR EL PROCESO DE COPIA ........................................................................ 47 Supervisar una copia.................................................................................... 48 Coherencia transaccional............................................................................. 48 DETENER EL PROCESO DE COPIA ...................................................................... 48 Una vez completada la copia ....................................................................... 49 SUPERVISAR SQL AZURE MEDIANTE VISTAS DE ADMINISTRACIÓN DINÁMICA .... 49 Calcular el tamaño de la base de datos ....................................................... 50 Supervisar las conexiones ............................................................................ 51 Supervisar el rendimiento de las consultas ................................................. 51 Buscar las N consultas superiores ................................................................ 51 Supervisar consultas bloqueadas................................................................. 52 Supervisar planes de consulta ..................................................................... 52 FIREWALL DE SQL AZURE ................................................................................. 53 Información general .................................................................................... 53 Conectarse desde Internet .......................................................................... 54 Conectarse desde Windows Azure .............................................................. 54 Crear la primera regla de firewall ................................................................ 55 La base de datos maestra ............................................................................ 55 VI © RC Libros ÍNDICE Solucionar problemas del firewall ............................................................... Configurar el firewall de SQL Azure ............................................................. Ejemplo ........................................................................................................ SOLUCIONAR PROBLEMAS DE SQL AZURE ....................................................... 55 56 58 59 Capítulo 4. Desarrollo.................................................................................. 63 DESARROLLO EN BASE DE DATOS DE SQL AZURE ............................................ Crear servidores SQL Azure ......................................................................... Crear bases de datos SQL Azure .................................................................. Compilar y hospedar aplicaciones SQL Azure .............................................. Desarrollar aplicaciones SQL Azure ............................................................. COMPATIBILIDAD CON TRANSACT-SQL (BASE DE DATOS DE SQL AZURE) ....... Características de Transact-SQL compatibles y parcialmente compatibles. Características de Transact-SQL no admitidas ............................................. COMPATIBILIDAD DE BASE DE DATOS SQL AZURE CON HERRAMIENTAS Y UTILIDADES DE SQL SERVER ........................................................................ La utilidad sqlcmd ........................................................................................ SQL Server Management Studio .................................................................. El administrador de base de datos para SQL Azure ..................................... Aplicaciones de capa de datos ..................................................................... Asistente para generar y publicar scripts .................................................... SQL Server Integration Services ................................................................... La utilidad bcp ............................................................................................. SQL Server Analysis Services y SQL Server Reporting Services .................... SQL Azure Reporting .................................................................................... Objetos de administración de SQL Server (SMO) ........................................ Asistente de migración de SQL Server (SSMA) ............................................ Microsoft Access .......................................................................................... PowerPivot para Excel ................................................................................. INSTRUCCIONES Y LIMITACIONES GENERALES (BASE DE DATOS SQL AZURE) . Compatibilidad con controladores, bibliotecas y protocolos ...................... Compatibilidad con Visual Studio ................................................................ Compatibilidad con herramientas y tecnologías ......................................... Compatibilidad con ODBC............................................................................ Compatibilidad con la migración de datos .................................................. Trabajos y Agente SQL Server ...................................................................... Compatibilidad con transacciones ............................................................... Niveles de aislamiento basado en versiones de fila..................................... Compatibilidad con la intercalación de SQL Server ..................................... 63 63 64 65 65 66 67 68 69 69 70 70 70 71 71 72 72 72 72 73 73 73 74 74 75 75 76 77 77 77 78 78 © RC Libros VII MICROSOFT SQL AZURE Y LA NUBE Requisito de índices clúster ......................................................................... Número de bases de datos y límites de tamaño.......................................... Requisitos de nomenclatura ........................................................................ Restricciones de conexión ........................................................................... INSTRUCCIONES Y LIMITACIONES DE SEGURIDAD EN BASE DE DATOS DE SQL AZURE .............................................................................................. Firewall ........................................................................................................ Cifrado y validación de certificados ............................................................. Autenticación............................................................................................... Inicios de sesión y usuarios .......................................................................... Procedimientos recomendados ................................................................... LIMITACIONES DE LAS CARACTERÍSTICAS DE SQL SERVER EN BASE DE DATOS SQL AZURE .................................................................................................... Características de SQL Server 2008 R2 no admitidas por Base de datos SQL Azure ................................................................................................ Características de SQL Server 2008 no admitidas por Base de datos SQL Azure ................................................................................................ Características de SQL Server 2005 no admitidas por Base de datos SQL Azure ................................................................................................ Otras características de SQL Server R2 no admitidas por Base de datos SQL Azure ................................................................................................ INSTRUCCIONES PARA CONECTAR CON BASE DE DATOS SQL AZURE .............. Capítulo 5. Conectar con SQL Azure............................................................. INSTRUCCIONES PARA CONECTAR CON BASE DE DATOS SQL AZURE .............. CONECTAR CON SQL AZURE MEDIANTE SQLCMD ............................................ CONECTAR CON SQL AZURE MEDIANTE ADO.NET ........................................... Ejemplo de aplicación de consola ................................................................ CONECTAR CON SQL AZURE MEDIANTE ASP.NET ............................................ CONECTAR CON SQL AZURE MEDIANTE SERVICIOS DE DATOS DE WCF (ADO.NET) .. Crear el modelo de datos ............................................................................ Crear el servicio de datos............................................................................. Crear la aplicación cliente ............................................................................ Tener acceso al servicio de datos School desde el rol web de Windows Azure. Migrar la aplicación a SQL Azure. ................................................................ CONECTAR CON SQL AZURE MEDIANTE PHP ................................................... Crear la aplicación Windows Azure ............................................................. Crear la aplicación PHP ................................................................................ CONECTAR CON SQL AZURE MEDIANTE JDBC .................................................. Preparar el entorno de desarrollo ............................................................... VIII 78 79 79 80 80 81 81 82 82 84 84 85 85 86 86 87 89 89 91 92 92 97 99 100 101 102 103 104 105 105 106 109 109 © RC Libros ÍNDICE Ejemplo ........................................................................................................ CONECTAR CON SQL AZURE MEDIANTE ADO.NET ENTITY FRAMEWORK ........ Crear el modelo de datos ............................................................................ Crear la aplicación de consola ..................................................................... Migrar la aplicación a SQL Azure ................................................................. 109 111 111 112 113 Capítulo 6. TRANSACT-SQL en SQL Azure. Tipos de datos, funciones y operadores. 115 TIPOS DE DATOS EN BASE DE DATOS DE SQL AZURE ....................................... Compatibilidad con métodos del tipo de datos geography ......................... Compatibilidad con métodos del tipo de datos geometry .......................... Compatibilidad con métodos del tipo de datos hierarchyid ........................ El tipo de datos xml ..................................................................................... FUNCIONES DE BASE DE DATOS DE SQL AZURE ............................................... Funciones de agregado ................................................................................ Funciones de categoría ................................................................................ Funciones de conjuntos de filas ................................................................... Funciones escalares ..................................................................................... Funciones escalares de ODBC ...................................................................... OPERADORES EN BASE DE DATOS DE SQL AZURE ............................................ Operadores aritméticos ............................................................................... Operadores compuestos ............................................................................. Operadores bit a bit ..................................................................................... Operadores lógicos ...................................................................................... Operadores de comparación ....................................................................... Operadores unarios ..................................................................................... Otros operadores misceláneos .................................................................... TABLAS DEL SISTEMA DE BASE DE DATOS DE SQL AZURE ................................ VISTAS DEL SISTEMA DE BASE DE DATOS DE SQL AZURE ................................. Vistas de bases de datos de SQL Azure ........................................................ Vistas de catálogo ........................................................................................ Vistas de compatibilidad.............................................................................. Vistas de administración dinámica .............................................................. Vistas del esquema de información ............................................................. 115 116 117 118 118 119 120 120 120 120 126 127 127 127 128 128 129 129 130 130 131 131 132 134 134 136 Capítulo 7. TRANSACT-SQL en SQL Azure. Instrucciones SQL Server admitidas y procedimientos .................................................................... 137 INSTRUCCIONES TRANSACT-SQL ADMITIDAS EN BASE DE DATOS DE SQL AZURE ... Compatibilidad con sugerencias .................................................................. 137 138 © RC Libros IX MICROSOFT SQL AZURE Y LA NUBE Compatibilidad con instrucciones SET ......................................................... INSTRUCCIONES TRANSACT-SQL NO ADMITIDAS EN BASE DE DATOS DE SQL AZURE .............................................................................................. PROCEDIMIENTOS ALMACENADOS DEL SISTEMA EN BASE DE DATOS DE SQL AZURE .............................................................................................. Procedimientos almacenados de base de datos SQL Azure......................... Procedimientos almacenados del catálogo ................................................. Procedimientos almacenados del motor de base de datos ......................... Procedimientos almacenados de seguridad ................................................ REFERENCIA DE ERRORES Y EXCEPCIONES EN BASE DE DATOS DE SQL AZURE ...... Errores generales ......................................................................................... Errores de copia de base de datos ............................................................... Errores de pérdida de conexión ................................................................... Limitación de SQL Azure y descodificación de códigos de motivo ............... Descodificar códigos de motivo ................................................................... Excepciones de SMO en base de datos de SQL Azure.................................. 139 140 144 145 145 146 147 148 148 149 151 152 153 153 Capítulo 8. TRANSACT-SQL en SQL Azure. Lenguaje de definición de datos DDL ... 155 INSTRUCCIONES TRANSACT-SQL ADMITIDAS DE FORMA PARCIAL EN BASE DE DATOS DE SQL AZURE .............................................................. LENGUAJE DDL. INSTRUCCIONES ALTER EN BASE DE DATOS DE SQL AZURE ... ALTER AUTHORIZATION ................................................................................... ALTER DATABASE ............................................................................................. ALTER FUNCTION ............................................................................................. ALTER INDEX..................................................................................................... ALTER LOGIN .................................................................................................... ALTER PROCEDURE........................................................................................... ALTER TABLE..................................................................................................... ALTER TRIGGER ................................................................................................ ALTER USER ...................................................................................................... ALTER VIEW ...................................................................................................... LENGUAJE DDL. INSTRUCCIONES CREATE EN BASE DE DATOS DE SQL AZURE . CREATE DATABASE ........................................................................................... CREATE FUNCTION ........................................................................................... CREATE INDEX .................................................................................................. CREATE LOGIN .................................................................................................. CREATE PROCEDURE ........................................................................................ CREATE SPATIAL INDEX .................................................................................... 155 157 157 158 161 164 165 166 167 170 171 172 172 172 176 179 180 181 182 X © RC Libros ÍNDICE CREATE SYNONYM ........................................................................................... CREATE TABLE .................................................................................................. CREATE TRIGGER .............................................................................................. CREATE TYPE .................................................................................................... CREATE USER.................................................................................................... CREATE VIEW ................................................................................................... LENGUAJE DML. INSTRUCCIONES DROP EN BASE DE DATOS DE SQL AZURE ... DROP DATABASE .............................................................................................. DROP INDEX ..................................................................................................... DROP TABLE ..................................................................................................... DROP TRIGGER ................................................................................................. 183 184 187 188 189 190 190 191 191 192 192 Capítulo 9. TRANSACT-SQL en SQL Azure. Lenguajes de manipulación y control de datos DML y DCL .................................................................... 193 LENGUAJE DE MANIPULACIÓN DE DATOS DML. INSTRUCCIÓN INSERT EN BASE DATOS DE SQL AZURE ................................................................... LENGUAJE DE CONTROL DE DATOS DCL EN BASE DATOS DE SQL AZURE ........ GRANT (permisos de base de datos de Base de Datos de SQL Azure) ............. GRANT (permisos de entidad de seguridad de base de datos de Base de datos de SQL Azure) ....................................................................... GRANT (permisos de tipo de Base de datos de SQL Azure).............................. REVOKE (permisos de base de datos de Base de datos de SQL Azure) ............ REVOKE (permisos de entidad de seguridad de base de datos de Base de datos de SQL Azure) .................................................................. REVOKE (permisos de tipo de Base de datos de SQL Azure) ............................ DENY (permisos de base de datos de Base de datos de SQL Azure) ................ DENY (permisos de entidad de seguridad de base de datos de Base de datos de SQL Azure) ....................................................................... DENY (permisos de tipo de Base de datos de SQL Azure) ................................ EXECUTE .......................................................................................................... EXECUTE AS ...................................................................................................... EXECUTE AS Clause .......................................................................................... ENABLE TRIGGER .............................................................................................. DISABLE TRIGGER ............................................................................................. USE (Base de datos de SQL Azure) ................................................................... LENGUAJE TCL DE CONTROL DE TRANSACCIONES EN BASE DATOS DE SQL AZURE .. 200 200 201 202 202 203 203 203 204 Índice alfabético.......................................................................................... 205 © RC Libros 193 194 195 195 196 197 198 198 199 XI