Download Microsoft SQL Azure

Document related concepts

Microsoft SQL Server wikipedia , lookup

Transact-SQL wikipedia , lookup

Navicat wikipedia , lookup

Lenguaje de definición de datos wikipedia , lookup

SQL Server Compact wikipedia , lookup

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: [email protected]
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