Introducción............................................................................................. ......... XIII
Capítulo 1. Conceptos de base de datos de SQL Azure............................................ 1
EL NUEVO PORTAL DE ADMINISTRACIÓN.................................................................. 1
INFORMACIÓN GENERAL DE SQL AZURE................................................................... 2
SIMILITUDES Y DIFERENCIAS CON SQL SERVER.......................................................... 2
ACCESO A DATOS DE SQL AZURE............................................................................... 5
Hospedar sus datos en la nube.......................................................................... 6
Hospedar su aplicación en la nube.................................................................... 6
ARQUITECTURA DE SQL AZURE................................................................................. 7
El nivel de cliente.............................................................................................. 7
El nivel de servicios........................................................................................... 9
El nivel de plataforma........................................................................................ 9
Nivel de infraestructura.................................................................................... 9
MODELO DE APROVISIONAMIENTO DE SQL AZURE.................................................... 9
Introducción.............. 10
Información general sobre el modelo de aprovisionamiento de SQL Azure 11
CUENTAS Y FACTURACIÓN EN SQL AZURE................................................................ 12
Ediciones de SQL Azure.................................................................................... 12
Facturación ................................................................................................... 13
Suscripciones de SQL Azure.............................................................................. 14
Ancho de banda en la plataforma Windows Azure........................................... 14
Limitar el tamaño de la base de datos con el valor MAXSIZE............................ 15
Acceso a los datos de facturación y uso........................................................... 15
Capítulo 2. Administrar bases de datos e inicios de sesión en SQL Azure............... 17
ADMINISTRACIÓN EN SQL AZURE................................................................. .......... 17
Administración de la seguridad de SQL Azure........................................ .......... 17
Administración a nivel de servidor y la base de datos maestra............. .......... 19
Administrar inicios de sesión................................................................ .......... 19
Conceder permisos de nivel de servidor a un inicio de sesión............... .......... 20
Conceder acceso a base de datos a un inicio de sesión......................... .......... 22
Ver inicios de sesión y bases de datos................................................... .......... 23
MIGRAR BASES DE DATOS A SQL AZURE........................................................ .......... 23
MIGRAR UNA BASE DE DATOS A SQL AZURE MEDIANTE EL ASISTENTE PARA GENERAR SCRIPTS................................................................................... .......... 24
Crear la base de datos de ejemplo SCHOOL........................................... .......... 24
Crear el script de Transact-SQL.............................................................. .......... 25
Ejecutar el script en SQL Azure............................................................... .......... 25
Definición de Transact-SQL de la base de datos School.......................... .......... 26
MOVER DATOS A SQL AZURE........................................................................ .......... 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
Solucionar problemas del firewall......................................................... .......... 55
Configurar el firewall de SQL Azure........................................................ .......... 56 Ejemplo........................................................................................................... 58
SOLUCIONAR PROBLEMAS DE SQL AZURE..................................................... .......... 59
Capítulo 4. Desarrollo.......................................................................................... 63
DESARROLLO EN BASE DE DATOS DE SQL AZURE............................................ .......... 63
Crear servidores SQL Azure.................................................................... .......... 63
Crear bases de datos SQL Azure............................................................. .......... 64
Compilar y hospedar aplicaciones SQL Azure......................................... .......... 65
Desarrollar aplicaciones SQL Azure....................................................... .......... 65
COMPATIBILIDAD CON TRANSACT-SQL (BASE DE DATOS DE SQL AZURE).......... .......... 66
Características de Transact-SQL compatibles y parcialmente compatibles. 67
Características de Transact-SQL no admitidas...................................... .......... 68
COMPATIBILIDAD DE BASE DE DATOS SQL AZURE CON HERRAMIENTAS Y UTILIDADES DE SQL SERVER..................................................................... .......... 69
La utilidad sqlcmd................................................................................. .......... 69
SQL Server Management Studio............................................................. .......... 70
El administrador de base de datos para SQL Azure................................ .......... 70
Aplicaciones de capa de datos.............................................................. .......... 70
Asistente para generar y publicar scripts.............................................. .......... 71
SQL Server Integration Services............................................................. .......... 71
La utilidad bcp...................................................................................... .......... 72
SQL Server Analysis Services y SQL Server Reporting Services........................... 72
SQL Azure Reporting.............................................................................. .......... 72
Objetos de administración de SQL Server (SMO).................................... .......... 72
Asistente de migración de SQL Server (SSMA)......................................... .......... 73
Microsoft Access................................................................................... .......... 73
PowerPivot para Excel........................................................................... .......... 73
INSTRUCCIONES Y LIMITACIONES GENERALES (BASE DE DATOS SQL AZURE)..... .......... 74
Compatibilidad con controladores, bibliotecas y protocolos................ .......... 74
Compatibilidad con Visual Studio.......................................................... .......... 75
Compatibilidad con herramientas y tecnologías................................... .......... 75
Compatibilidad con ODBC..................................................................... .......... 76
Compatibilidad con la migración de datos............................................ .......... 77
Trabajos y Agente SQL Server................................................................. .......... 77
Compatibilidad con transacciones.................................................................. 77
Niveles de aislamiento basado en versiones de fila.............................. .......... 78
Compatibilidad con la intercalación de SQL Server................................ .......... 78
Requisito de índices clúster.................................................................. .......... 78
Número de bases de datos y límites de tamaño.................................... .......... 79
Requisitos de nomenclatura................................................................. .......... 79
Restricciones de conexión.................................................................... .......... 80
INSTRUCCIONES Y LIMITACIONES DE SEGURIDAD EN BASE DE DATOS DE SQL AZURE.................................................. .......... 80
Firewall................................................................................................. .......... 81
Cifrado y validación de certificados....................................................... .......... 81
Autenticación....................................................................................... .......... 82
Inicios de sesión y usuarios................................................................... .......... 82
Procedimientos recomendados............................................................ .......... 84
LIMITACIONES DE LAS CARACTERÍSTICAS DE SQL SERVER EN BASE DE DATOS SQL AZURE................................................................ .......... 84
Características de SQL Server 2008 R2 no admitidas por Base de datos SQL Azure..................................................................................................... 85
Características de SQL Server 2008 no admitidas por Base de datos SQL Azure....................................................... .......... 85
Características de SQL Server 2005 no admitidas por Base de datos SQL Azure..................................................................................................... 86
Otras características de SQL Server R2 no admitidas por Base de datos SQL Azure........................................................................................... .......... 86
INSTRUCCIONES PARA CONECTAR CON BASE DE DATOS SQL AZURE................ .......... 87
Capítulo 5. Conectar con SQL Azure..................................................................... 89
INSTRUCCIONES PARA CONECTAR CON BASE DE DATOS SQL AZURE................ .......... 89
CONECTAR CON SQL AZURE MEDIANTE SQLCMD........................................... .......... 91
CONECTAR CON SQL AZURE MEDIANTE ADO.NET.......................................... .......... 92
Ejemplo de aplicación de consola......................................................... .......... 92
CONECTAR CON SQL AZURE MEDIANTE ASP.NET........................................... .......... 97
CONECTAR CON SQL AZURE MEDIANTE SERVICIOS DE DATOS DE WCF (ADO.NET) 99
Crear el modelo de datos...................................................................... ........ 100
Crear el servicio de datos...................................................................... ........ 101
Crear la aplicación cliente.................................................................... ........ 102
Tener acceso al servicio de datos School desde el rol web de Windows Azure. 103
Migrar la aplicación a SQL Azure............................................................ ........ 104
CONECTAR CON SQL AZURE MEDIANTE PHP................................................. ........ 105
Crear la aplicación Windows Azure....................................................... ........ 105
Crear la aplicación PHP......................................................................... ........ 106
CONECTAR CON SQL AZURE MEDIANTE JDBC................................................ ........ 109
Preparar el entorno de desarrollo......................................................... ........ 109 Ejemplo................................................................................................. ........ 109
CONECTAR CON SQL AZURE MEDIANTE ADO.NET ENTITY FRAMEWORK........... ........ 111
Crear el modelo de datos...................................................................... ........ 111
Crear la aplicación de consola.............................................................. ........ 112
Migrar la aplicación a SQL Azure............................................................ ........ 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....................................... ........ 115
Compatibilidad con métodos del tipo de datos geography.................... ........ 116
Compatibilidad con métodos del tipo de datos geometry..................... ........ 117
Compatibilidad con métodos del tipo de datos hierarchyid.................. ........ 118
El tipo de datos xml............................................................................... ........ 118
FUNCIONES DE BASE DE DATOS DE SQL AZURE.............................................. ........ 119
Funciones de agregado......................................................................... ........ 120
Funciones de categoría......................................................................... ........ 120
Funciones de conjuntos de filas............................................................ ........ 120
Funciones escalares............................................................................. ........ 120
Funciones escalares de ODBC............................................................... ........ 126
OPERADORES EN BASE DE DATOS DE SQL AZURE........................................... ........ 127
Operadores aritméticos........................................................................ ........ 127
Operadores compuestos....................................................................... ........ 127
Operadores bit a bit.............................................................................. ........ 128
Operadores lógicos............................................................................... ........ 128
Operadores de comparación................................................................. ........ 129
Operadores unarios.............................................................................. ........ 129
Otros operadores misceláneos............................................................. ........ 130
TABLAS DEL SISTEMA DE BASE DE DATOS DE SQL AZURE................................. ........ 130
VISTAS DEL SISTEMA DE BASE DE DATOS DE SQL AZURE.................................. ........ 131
Vistas de bases de datos de SQL Azure.................................................. ........ 131
Vistas de catálogo................................................................................. ........ 132
Vistas de compatibilidad...................................................................... ........ 134
Vistas de administración dinámica....................................................... ........ 134
Vistas del esquema de información...................................................... ........ 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 137
Compatibilidad con sugerencias........................................................... ........ 138
Compatibilidad con instrucciones SET................................................... ........ 139
INSTRUCCIONES TRANSACT-SQL NO ADMITIDAS EN BASE DE DATOS DE SQL AZURE......................................................................................... ........ 140
PROCEDIMIENTOS ALMACENADOS DEL SISTEMA EN BASE DE DATOS DE SQL AZURE......................................................................................... ........ 144
Procedimientos almacenados de base de datos SQL Azure................... ........ 145
Procedimientos almacenados del catálogo.......................................... ........ 145
Procedimientos almacenados del motor de base de datos................... ........ 146
Procedimientos almacenados de seguridad......................................... ........ 147
REFERENCIA DE ERRORES Y EXCEPCIONES EN BASE DE DATOS DE SQL AZURE... ........ 148
Errores generales.................................................................................. ........ 148
Errores de copia de base de datos......................................................... ........ 149
Errores de pérdida de conexión............................................................. ........ 151
Limitación de SQL Azure y descodificación de códigos de motivo........... ........ 152
Descodificar códigos de motivo............................................................. ........ 153
Excepciones de SMO en base de datos de SQL Azure.............................. ........ 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............................................................. ........ 155
LENGUAJE DDL. INSTRUCCIONES ALTER EN BASE DE DATOS DE SQL AZURE...... ........ 157
ALTER AUTHORIZATION.............................................................................. ........ 157
ALTER DATABASE................................................................................................ 158
ALTER FUNCTION................................................................................................ 161
ALTER INDEX.............................................................................................. ........ 164
ALTER LOGIN............................................................................................. ........ 165
ALTER PROCEDURE..................................................................................... ........ 166
ALTER TABLE.............................................................................................. ........ 167
ALTER TRIGGER.......................................................................................... ........ 170
ALTER USER............................................................................................... ........ 171
ALTER VIEW....................................................................................................... 172
LENGUAJE DDL. INSTRUCCIONES CREATE EN BASE DE DATOS DE SQL AZURE.... ........ 172
CREATE DATABASE.............................................................................................. 172
CREATE FUNCTION.............................................................................................. 176
CREATE INDEX.................................................................................................... 179
CREATE LOGIN........................................................................................... ........ 180
CREATE PROCEDURE................................................................................... ........ 181
CREATE SPATIAL INDEX............................................................................... ........ 182
CREATE SYNONYM...................................................................................... ........ 183
CREATE TABLE............................................................................................ ........ 184
CREATE TRIGGER........................................................................................ ........ 187
CREATE TYPE.............................................................................................. ........ 188
CREATE USER............................................................................................. ........ 189
CREATE VIEW............................................................................................. ........ 190
LENGUAJE DML. INSTRUCCIONES DROP EN BASE DE DATOS DE SQL AZURE..... ........ 190
DROP DATABASE........................................................................................ ........ 191
DROP INDEX.............................................................................................. ........ 191
DROP TABLE.............................................................................................. ........ 192
DROP TRIGGER.......................................................................................... ........ 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................................................................. ........ 193
LENGUAJE DE CONTROL DE DATOS DCL EN BASE DATOS DE SQL AZURE........... ........ 194
GRANT (permisos de base de datos de Base de Datos de SQL Azure).......... ........ 195
GRANT (permisos de entidad de seguridad de base de datos de Base de datos de SQL Azure).............................................. ........ 195
GRANT (permisos de tipo de Base de datos de SQL Azure).......................... ........ 196
REVOKE (permisos de base de datos de Base de datos de SQL Azure)......... ........ 197
REVOKE (permisos de entidad de seguridad de base de datos de Base de datos de SQL Azure)................................................ ........ 198
REVOKE (permisos de tipo de Base de datos de SQL Azure)........................ ........ 198
DENY (permisos de base de datos de Base de datos de SQL Azure)............ ........ 199
DENY (permisos de entidad de seguridad de base de datos de Base de datos de SQL Azure)................................................... ........ 200
DENY (permisos de tipo de Base de datos de SQL Azure)............................ ........ 200
EXECUTE ........................................................................................................... 201
EXECUTE AS........................................................................................................ 202
EXECUTE AS Clause............................................................................................ 202
ENABLE TRIGGER................................................................................................ 203
DISABLE TRIGGER............................................................................................... 203
USE (Base de datos de SQL Azure)...................................................................... 203
LENGUAJE TCL DE CONTROL DE TRANSACCIONES EN BASE DATOS DE SQL AZURE 204
Índice alfabético............................................................................................... 205