SQL Azure: Preguntas más frecuentes (es-ES)
Autores originales
Abi Iyer, Dinakar Nethi
Resumen
La base de datos de SQL Azure es un servicio de base de datos relacional basada en la nube de Microsoft. SQL Azure proporciona la funcionalidad de base de datos relacional como un servicio de utilidad. Las soluciones de base de datos basadas en la nube como SQL Azure pueden proporcionar muchas ventajas, como un rápido aprovisionamiento, escalabilidad rentable, alta disponibilidad y costos de administración reducidos. Este documento aborda algunas de las preguntas más frecuentes formuladas por nuestros clientes.
Tabla de contenido:
Antes de la venta
P: Según Microsoft, ¿en qué se diferencia SQL Azure de SQL Server?
Aunque SQL Server y SQL Azure en ocasiones se ocuparán de cargas de trabajo de aplicación similares, uno es un servidor de bases de datos tradicional con un modelo de licencias de software, mientras que el otro es una base de datos como servicio en la nube que se ejecuta en los centros de datos globales de Microsoft y está disponible en modelos de pago por uso o planes con tarifas por volumen. Ambas ofertas le proporcionan la flexibilidad de elegir la plataforma y el modelo de negocio que mejor se adapta a sus necesidades tecnológicas.
SQL Server es un servidor de bases de datos de clase empresarial que proporciona almacenamiento de datos relacional “ampliable verticalmente” y se dirige a un amplio conjunto de tipos de aplicaciones y escenarios en entornos locales. SQL Server no es una oferta de servicios y no se basa en un modelo de consumo de pago por uso. SQL Server se usa bajo licencia por servidor o por procesador y abarca una amplia gama de hardware de servidor. SQL Server se ejecuta en el hardware de su centro de datos o del centro de datos de sus proveedores de hospedaje.
SQL Azure es un servicio de base de datos de alta disponibilidad, distribuido y “ampliable horizontalmente” hospedado por Microsoft en la nube. SQL Azure permite un fácil aprovisionamiento e implementación de capacidades de bases de datos relacionales como servicio. Los desarrolladores o administradores no tienen que instalar, configurar, aplicar revisiones ni administrar ningún software. Tiene integradas características como alta disponibilidad, copia de seguridad y recuperación, distribución geográfica y recuperación ante desastres.
Aparte de las diferencias en cuanto a ampliación vertical (en el mismo servidor) u horizontal (agregando servidores), existen también diferencias importantes en cuanto al modelo de operaciones. Dado que SQL Azure le libera de la administración del hardware y del sistema operativo, puede concentrarse en crear soluciones en lugar de en la adquisición, administración, aplicación de parches, adquisición de licencias para hardware, máquinas virtuales, sistemas operativos y software de plataformas de aplicaciones. Con un servidor de bases de datos dedicado (ya sea instalado de forma local como un servidor tradicional, hospedado en una máquina virtual u hospedado por un proveedor de servicios a terceros), los desarrolladores y profesionales de TI siguen siendo responsables de la instalación, configuración, actualización y aplicación de parches en el software del sistema operativo y de la base de datos. Además, los usuarios de servidores de bases de datos tienen que idear sus propias soluciones de alta disponibilidad, ampliación horizontal y recuperación ante desastres, lo que aumenta el costo total de administración.
SQL Azure está diseñado y optimizado para aplicaciones que necesitan gran escala y alta disponibilidad a un costo más bajo que las arquitecturas de ampliación vertical tradicionales. Con este propósito, SQL Azure proporciona una solución de alta disponibilidad ampliable horizontalmente en hardware estándar y ofrece capacidades de base de datos como servicio.
P: ¿Cuál es el enfoque de SQL Azure en lo que se refiere a la capacidad de ampliación? ¿Existe una limitación en el tamaño de los datos que se pueden almacenar en SQL Azure?
SQL Azure está optimizado para aplicaciones que necesitan gran escala y alta disponibilidad a un costo más bajo que las arquitecturas de ampliación vertical tradicionales. Con este propósito, SQL Azure proporciona una solución de alta disponibilidad y gran capacidad de ampliación en hardware estándar. Para obtener el máximo beneficio de esta plataforma, existe un impulso natural hacia soluciones de ampliación horizontal que usan particiones más pequeñas en comparación con el modelo tradicional de ampliación vertical de un solo servidor.
SQL Azure admite conjuntos de datos cuyo tamaño puede llegar hasta varios terabytes. Cada base de datos de SQL Azure puede tener un tamaño de hasta 50 GB. Para los conjuntos de datos superiores a 50 GB se pueden crear particiones en varias bases de datos de Azure con los métodos estándar del sector. Por ejemplo, un fabricante independiente de software (ISV) como servicio puede aprovisionar fácilmente una base de datos para cada cliente o un minorista puede crear particiones para los datos de ventas en bases de datos por regiones.
También es importante tener en cuenta que el límite de 50 GB por base de datos no incluye las copias adicionales de los datos que se mantienen automáticamente para una mayor disponibilidad, el registro de transacciones ni las tablas de nivel del sistema.
P: ¿Qué significa exactamente la frase “Web Edition incluye hasta 5 GB BD/mes” o “Business Edition incluye hasta 50 GB BD/mes”?
Puede aprovisionar varias bases de datos en SQL Azure para una o varias aplicaciones. Las bases de datos pueden ser de Web Edition o Business Edition. Una sola base de datos Web Edition puede admitir hasta 5 GB. La facturación se realiza en incrementos de 1 GB y 5 GB. Una sola base de datos Business Edition admitirá hasta 50 GB. Para Business Edition, la facturación se realiza en incrementos de 10 GB (10 GB, 20 GB, 30 GB, 40 GB, 50 GB).
Se factura en función del tamaño máximo de la base de datos en cualquier día redondeado hasta el siguiente incremento de facturación.
Ejemplo:
Supongamos que tenemos una base de datos Web Edition que tiene MAXSIZE=5GB. Si el tamaño de la base de datos es de 800 MB, se aplicará el cargo diario de 1 GB para la base de datos Web Edition. Si al día siguiente el tamaño de la base de datos crece hasta los 3 GB, se aplicará el cargo diario correspondiente al siguiente incremento de facturación para Web Edition, que es de 5 GB para ese día. Si al día siguiente, tras eliminar algunos datos, el tamaño vuelve a los 900 MB, el cargo diario volverá a ser el correspondiente a 1 GB.
El mismo ejemplo se aplica a una base de datos Business Edition. Supongamos que tenemos una base de datos Business Edition que tiene MAXSIZE=50GB. Si el tamaño total de la base de datos es de 8 GB, se aplicará el cargo diario de 10 GB para la base de datos. Si al día siguiente el tamaño de la base de datos crece hasta los 25 GB, se aplicará el cargo diario correspondiente al siguiente incremento de facturación para Business Edition, que es de 30 GB, y así sucesivamente.
El cargo diario se calcula dividiendo la cuota mensual para ese incremento de facturación entre el número de días del mes.
P: ¿En qué se diferencia el uso de SQL Azure de trabajar con un proveedor de hospedaje local que usa SQL Server 2008/SPLA?
Con una base de datos hospedada dedicada, los desarrolladores y profesionales de TI siguen siendo responsables de la instalación, configuración, actualización y aplicación de revisiones en el software del sistema operativo y de la base de datos. Además, los usuarios de soluciones de bases de datos hospedadas tienen que idear sus propias soluciones de alta disponibilidad (HA), ampliación horizontal y recuperación ante desastres, lo que aumenta el costo total de administración.
SQL Azure es un servicio de base de datos de alta disponibilidad, distribuido y escalable hospedado por Microsoft en la nube. SQL Azure permite un fácil aprovisionamiento e implementación de bases de datos relacionales como servicio. Los desarrolladores no tienen que instalar, configurar, aplicar revisiones ni administrar ningún software. Tiene integradas características como HA, copia de seguridad y recuperación, distribución geográfica y recuperación ante desastres.
P: ¿Cómo se comparan los precios de SQL Azure con los de SQL Server?
Dado que se trata de dos productos distintos –uno es un servidor de base de datos y el otro es un servicio en la nube– no es posible comparar ambos productos directamente por su precio. SQL Server se comercializa mediante una licencia de software. Por su parte, SQL Azure es un servicio en la nube cuyo precio refleja los costos asociados al hardware de servidores, software, ancho de banda de red, almacenamiento y administración del hardware en que se ejecuta SQL Azure. Cada una de las dos ofertas se ha diseñado para proporcionarle la flexibilidad de elegir la plataforma y el modelo de negocio que mejor se adapta a sus necesidades.
P: Si creo mi aplicación en la plataforma SQL Azure, ¿puedo moverla a un servidor local u hospedado?
Muchas aplicaciones que usan SQL Azure se pueden trasladar fácilmente a un servidor de SQL Server local u hospedado. Si bien puede ser necesario rediseñar algunas aplicaciones para que se ejecuten en SQL Server, SQL Azure admite el mismo modelo relacional basado en T-SQL sobre TDS que SQL Server, por lo que las aplicaciones personalizadas y empaquetadas en LOB existentes normalmente pueden migrarse haciendo cambios mínimos en la solución.
P: ¿Puedo obtener crédito en SQL Azure por mi licencia actual de SQL Server?
No. Actualmente no se permite el traspaso de licencias de SQL Server.
P: ¿Es SQL Azure en realidad la siguiente versión de SQL Server después de SQL Server 2008 R2?
No. SQL Azure es una base de datos en la nube que se entrega como un servicio, y es independiente de SQL Server. SQL Azure es un servicio de plataforma escalado que le proporciona una base de datos relacional a petición como servicio. Aunque los productos SQL Azure y SQL Server tienen planes de desarrollo diferentes, sus rutas de código son paralelas y comparten activamente las nuevas características e innovaciones.
P: ¿Significa la existencia de la nueva plataforma Windows Azure que los clientes moverán todas sus aplicaciones futuras y existentes a la nube?
Microsoft le proporciona la flexibilidad de usar tecnología local, en la nube o ambas, como parte de su estrategia software-plus-services (S+S). Los clientes han manifestado un gran interés en tener la flexibilidad de elegir las opciones de implementación que requieran sus necesidades empresariales. En Microsoft seguiremos haciendo grandes inversiones para innovar y para lanzar nuevas versiones de Windows Server, Windows Azure, SQL Server, SQL Azure y System Center para asegurarnos de que puede beneficiarse de las tecnologías de informática en nube, tanto si sus aplicaciones se ejecutan en su propio centros de datos, como en un centro de datos de un socio de Microsoft Hosting o en nuestro entorno de nube pública.
P: ¿Para qué sirve el servicio SQL Azure Data Sync?
SQL Azure Data Sync ofrece la capacidad de administrar el movimiento de datos entre las bases de datos de SQL Azure y SQL Server a través de la sincronización de datos bidireccional. Mediante SQL Azure Data Sync, las organizaciones pueden aprovechar la eficacia de SQL Azure y Microsoft Sync Framework para crear centros de datos empresariales en la nube que permiten compartir información fácilmente con múltiples centros de datos de SQL Azure, usuarios móviles, socios comerciales, oficinas remotas y orígenes de datos empresariales, todo ello sin dejar de aprovechar las ventajas de los nuevos servicios en la nube. Esta combinación proporciona un puente que permite que las aplicaciones locales y remotas trabajen juntas. Puede suscribirse al Customer Technical Preview (CTP) de SQL Azure Data Sync en http://social.technet.microsoft.com/wiki/contents/articles/SQL'%20originalAttribute=.
Use SQL Azure Data Sync para:
Extender bases de datos de SQL Azure existentes a uno o varios centros de datos de todo el mundo para proporcionar acceso a datos disponibles geográficamente.
Vincular datos de SQL Server existentes localmente a SQL Azure permitiendo la creación de aplicaciones nuevas en Windows Azure sin abandonar las aplicaciones locales existentes.
Usar aplicaciones basadas en Windows Azure y en SQL Azure sin conexión para proporcionar una experiencia de modo de almacenamiento en caché “tipo Outlook”.
Extender datos locales a oficinas remotas, tiendas al por menor y trabajadores móviles a través de la nube.
P: ¿Cuándo se lanzará una versión compatible del servicio SQL Azure Data Sync?
Por el momento, el servicio SQL Azure DataSync está disponible como una versión Community Technology Preview (CTP). Tomaremos nota de los comentarios de los clientes durante esta vista previa pública para determinar lo que necesitamos hacer para asegurarnos de ofrecer el mejor valor a nuestros clientes; por ello, la fecha de lanzamiento dependerá de la complejidad de los cambios necesarios para dar respuesta a los comentarios de los clientes.
P: ¿Tienen que pagar los clientes por el servicio DataSync?
Actualmente no se cobra por el servicio Data Sync; sin embargo, se acumularán cargos por transferencia de datos para los datos que entren y salgan de la base de datos de SQL Azure. Para obtener más detalles sobre los precios, visite: http://www.microsoft.com/windowsazure/pricing/.http://www.microsoft.com/windowsazure/pricing/.
Conectividad
P: ¿Cómo me conecto a SQL Azure?
La versión de SQL Server Management Studio (SSMS) comercializada con SQL Server 2008 R2 es totalmente compatible con SQL Azure en cuanto a conectividad. Si está usando una versión anterior de SSMS, verá el siguiente mensaje de error al escribir el nombre del servidor y las credenciales de usuario en la ventana de conexión que aparece al abrir Management Studio por primera vez.
Para evitar este error, realice los pasos siguientes:
1. Haga clic en Aceptar en el error Conectar con el servidor y, a continuación, use el botón Cancelar para salir de la ventana de conexión.
2. Haga clic en el icono “Nueva consulta”.
3. En el cuadro de diálogo Conectar con el servidor, escriba sus credenciales de conexión.
Nota: el inicio de sesión debe estar en este formato: nombredeusuario**@nombredeservidor**
Si necesita conectarse a una base de datos específica, haga clic en el botón “Opciones” y especifique el nombre de la base de datos en el cuadro “Conectar con base de datos”.
Nota: USE <Base de datos> no se admite. Si necesita conectarse a otra base de datos después de iniciada la sesión, haga clic con el botón secundario y seleccione “Cambiar conexión”.
P: ¿Cómo puedo comprobar el estado de mantenimiento actual de la plataforma Windows Azure?
Puede comprobar el Panel de servicio para la región de su base de datos de SQL Azure en http://www.microsoft.com/windowsazure/support/status/servicedashboard.aspxhttp://www.microsoft.com/windowsazure/support/status/servicedashboard.aspx. También puede suscribirse a las respectivas fuentes RSS.
P: No consigo conectar con SQL Azure. ¿Cómo puedo solucionar este problema?
Vea la http://social.technet.microsoft.com/wiki/contents/articles/Guía'%20originalAttribute= si desea información sobre la resolución de problemas comunes de conectividad.
P: ¿Dónde puedo encontrar cadenas de conexión de ejemplo para SQL Azure?
Cuando aprovisione su servidor, el portal de SQL Azure le proporcionará cadenas de conexión que puede usar en su aplicación. A continuación se presenta el formato genérico de las cadenas de conexión para ADO.NET y ODBC:
ADO.NET
Server=tcp:<nombredeservidorsqlazure>.database.windows.net;
Database=<nombredebasededatos>; ;Password=contraseña;Trusted_Connection=False">
UserID=usuario@<nombredeservidorsqlazure>;Password=contraseña;
Trusted_Connection=False;
ODBC
Driver={SQL Server Native Client 10.0};Server=tcp:<nombredeservidorsqlazure>.
database.windows.net;Database=<nombredebasededatos>;;Pwd=contraseña;
Encrypt=yes;mailto:Uid=user@server;Pwd=password;Encrypt=yes">
Uid=usuario@<nombredeservidorsqlazure>;Pwd=contraseña;Encrypt=yes;
P: ¿Puedo hacer copias de seguridad de mis datos almacenados en SQL Azure? ¿Cómo puedo recuperar datos dañados o perdidos?
En general, es una buena práctica hacer una copia de seguridad para poder recuperar datos lógicos dañados o perdidos (por ejemplo, cuando las aplicaciones de los usuarios eliminan datos accidentalmente). SQL Azure realiza copias de seguridad periódicamente y ejecuta comprobaciones de coherencia para poder recuperarse de errores de hardware; sin embargo, esta es una operación interna relacionada con el mantenimiento del estado general del servicio y los usuarios de SQL Azure no tienen acceso a ella. No obstante, siempre puede usar el Programa de copia masiva (BCP) o SQL Server Integration Services (SSIS) para copiar los datos en una base de datos local de SQL Server en cualquier momento. También puede usar la característica http://social.technet.microsoft.com/wiki/contents/articles/Copia'%20originalAttribute= para crear una copia de la base de datos dentro de la misma subregión que puede usarse como copia de seguridad en caso de que se produzca un error del usuario.
P: ¿Existen laboratorios de prácticas o demostraciones disponibles para mover datos entre SQL Server local y SQL Azure?
El http://social.technet.microsoft.com/wiki/contents/articles/Kit'%20originalAttribute= proporciona ejemplos, demostraciones y presentaciones sobre SQL Azure, incluida la migración de bases de datos.
P: ¿Cómo puedo configurar el firewall de SQL Azure?
El firewall de SQL Azure impide el acceso a un servidor SQL Azure a menos que haya permitido específicamente una dirección IP. Es necesario agregar a la configuración del firewall las direcciones IP de los equipos que necesitan acceso antes de que puedan intentar conectarse al servidor SQL Azure. Esto puede hacerse mediante la pestaña Firewall Settings (Configuración del firewall) de la página Server Administration (Administración de servidores) del portal de SQL Azure. También hay una casilla denominada “Allow Microsoft Services access to this server” (Permitir que los servicios de Microsoft tengan acceso a este servidor). Si selecciona esta opción, permitirá las conexiones procedentes de sus aplicaciones hospedadas en Windows Azure.
Para obtener más información sobre la configuración del firewall, vea http://social.technet.microsoft.com/wiki/contents/articles/Cómo'%20originalAttribute=.
P: ¿Cómo puedo conceder a mi rol web acceso a SQL Azure?
Seleccione la opción “Allow Microsoft Services access to this server” (Permitir que los servicios de Microsoft tengan acceso a este servidor) en la pestaña Firewall Settings (Configuración del firewall) de la página Server Administration (Administración de servidores) del portal.
Para obtener más información sobre la configuración del firewall, vea http://social.technet.microsoft.com/wiki/contents/articles/Cómo'%20originalAttribute=.
P: ¿Están mis datos seguros durante la conexión?
Es obligatorio usar el cifrado SSL en todas las conexiones de los clientes con SQL Azure en todo momento; sin embargo, si su aplicación cliente no valida los certificados al conectarse, la conexión puede ser susceptible de sufrir ataques de tipo "Man in the middle".
Para obtener más información sobre el cifrado de conexiones, vea http://social.technet.microsoft.com/wiki/contents/articles/Instrucciones'%20originalAttribute=.
Características admitidas y no admitidas
P: ¿Se admite el servidor vinculado en SQL Azure? ¿Se puede habilitar el servidor vinculado entre servidores locales de SQL Server y servidores SQL Azure o entre dos instancias de servidores SQL Azure?
No. Actualmente no se admite el servidor vinculado en SQL Azure. Por ese motivo, no podrá habilitar el servidor vinculado entre la solución local y SQL Azure ni tampoco dentro de la nube.
P: ¿Cuál es el nivel de aislamiento predeterminado admitido en SQL Azure?
Aislamiento instantáneo de lectura confirmada.
P: ¿Se admite el seguimiento de cambios en SQL Azure?
El seguimiento de cambios actualmente no se encuentra disponible en SQL Azure.
P: ¿Se admiten los tipos de datos espaciales en SQL Azure?
La compatibilidad con los tipos de datos espaciales se agregó en SU3 (junio de 2010).
P: ¿Se admite la copia masiva en SQL Azure?
Sí. El Programa de copia masiva (BCP) y SqlBulkCopyAPI se admiten en SQL Azure. No se admite el comando TSQL BULK INSERT.
P: ¿Si incluyo DROP Database dentro de un bucle IF...Else, obtengo un error que dice que DROP Database no se admite incluso si estoy conectado a la base de datos maestra?
Esta es una limitación de SQL Azure. El lenguaje Data Definition Language (DDL) de inicio de sesión tiene que ser la única instrucción de un proceso por lotes, y no se puede encerrar en un bucle IF... ELSE. Consulte http://social.technet.microsoft.com/wiki/contents/articles/Instrucciones'%20originalAttribute=.
Al ejecutar las instrucciones CREATE
/ALTER
/DROP LOGIN
y CREATE
/DROP DATABASE
en una aplicación ADO.NET, no se permite usar comandos parametrizados. Cada una de estas instrucciones deben ser las únicas del proceso por lotes de SQL.
P: ¿Se admite el Agente SQL en SQL Azure?
El Agente SQL no se admite actualmente en SQL Azure.
P: ¿Se admite SQL Profiler en SQL Azure?
SQL Profiler no se admite actualmente en SQL Azure. Sin embargo, están habilitadas algunas Vistas de administración dinámica (DMV) para la resolución de problemas con objeto de ayudar a diagnosticar problemas de rendimiento. Encontrará una lista detallada de las DMV admitidas en http://msdn.microsoft.com/en-us/library/ee336238.aspx#dmvhttp://msdn.microsoft.com/en-us/library/ee336238.aspx#dmv
P: ¿Se admite Service Broker en SQL Azure?
Actualmente no se admite Service Broker en SQL Azure.
P: ¿Se admite la replicación en SQL Azure? ¿Puedo replicar mis datos desde SQL local a SQL Azure?
La replicación no se admite actualmente en SQL Azure. Dispone de las opciones indicadas a continuación:
Puede usar SQL Azure Data Sync para sincronizar datos entre SQL Server local y SQL Azure, así como entre dos o más servidores SQL Azure.
También puede usar SQL Server Integration Services (SSIS), SQL Server Management Studio (SSMS) o el Programa de copia masiva (BCP) para mover datos entre SQL local y SQL Azure.
El http://social.technet.microsoft.com/wiki/contents/articles/Asistente'%20originalAttribute= también proporciona la capacidad de mover datos entre SQL Server local y SQL Azure o entre dos instancias de SQL Azur.
P: ¿Se admite Entity Framework en SQL Azure?
Sí. Entity Framework se admite en SQL Azure. Si desea más información, vea http://social.technet.microsoft.com/wiki/contents/articles/Cómo'%20originalAttribute=.
P: ¿Se admite Reporting Services, Analysis Services o SSIS en la solución de nube?
SQL Azure Reporting se anunció en PDC 2010 y se publicará en forma de Community Technology Preview (CTP). Para obtener más información, vea http://social.technet.microsoft.com/wiki/contents/articles/Introducción'%20originalAttribute=. Puede participar en la CTP inscribiéndose en la página http://social.technet.microsoft.com/wiki/contents/articles/SQL'%20originalAttribute=.
SQL 2008 R2 (Reporting Services, Analysis Services y SSIS) también es compatible y está optimizado para SQL Azure, y puede tener acceso a SQL Azure como origen de datos desde los proyectos locales de Business Intelligence.
P: ¿Admite SQL Azure un mecanismo de particionamiento automático que me permita dividir fácilmente mis datos en varias bases de datos?
En la actualidad no se admite el particionamiento automático de bases de datos de SQL Azure. Los usuarios deben ocuparse del particionamiento de datos al diseñar la lógica de cada aplicación. Para obtener más información, vea [[Particionamiento con SQL Azure]].
http://social.technet.microsoft.com/wiki/contents/articles/SQL'%20originalAttribute= se ha anunciado, pero todavía no está disponible. Con esta característica podrá realizarse fácilmente el reparticionamiento y la redistribución de datos con un sólido mecanismo de enrutamiento de conexiones.
P: ¿Está disponible el registro de errores de SQL Server en SQL Azure?
No. El registro de errores de SQL Server actualmente no está disponible en SQL Azure.
P: ¿Se admite el uso de IPV6?
No. Actualmente no está disponible IPV6. Incluiremos la compatibilidad con IPV6 si vemos que se hace más necesario.
P: ¿Se admite la conexión entre SQL Azure y Excel?
La versión incluida en Office 2010 de Excel puede usar SQL Azure como origen de datos. Vea http://social.technet.microsoft.com/wiki/contents/articles/Conectar'%20originalAttribute= si desea más información.
P: ¿Se admite el controlador JDBC en SQL Azure?
Sí, pero se necesita una actualización específica para el Controlador JDBC de Microsoft SQL Server 3.0. Vea http://support.microsoft.com/kb/2504052%C2%A0para'%20originalAttribute= para obtener más información.
P: ¿Existen proveedores de estado de sesión compatibles con SQL Azure?
No existen proveedores de estado de sesión compatibles con SQL Azure. Para obtener más información, consulte http://social.technet.microsoft.com/wiki/contents/articles/Scripts'%20originalAttribute=.
P: Tengo dos bases de datos en el mismo servidor. ¿Es posible unir tablas de las bases de datos existentes en el mismo servidor?
No se admite la unión de tablas de dos bases de datos. Un servidor SQL Azure es una agrupación lógica de bases de datos. Las bases de datos del mismo servidor están repartidas por los nodos del entorno. Puede escribir una consulta de abanico en la lógica de la aplicación para lograr la misma funcionalidad.
P: ¿Admite SQL Azure la característica de auditoría?
La versión actual de SQL Azure no incluye una característica de auditoría.
P: Dado que la columna RowGUID no es compatible con SQL Azure, ¿cuál es la alternativa recomendada para los clientes?
La alternativa es usar uniqueidentifier como tipo de columna y luego usar NEWID() para generar guids en el momento de la inserción.
CREATE TABLE MiPrueba ( MiID UNIQUEIDENTIFIER DEFAULT NEWID() PRIMARY KEY,
Name VARCHAR(10)) INSERT INTO MiPrueba (name) VALUES ('string1')
INSERT INTO MiPrueba VALUES (newid(), 'string2')
P: ¿Cuál es la zona horaria que se usa para los servidores SQL Azure?
Independientemente de la ubicación del centro de datos elegida, el servidor SQL Azure está configurado para la zona horaria UTC. La versión actual de SQL Azure no admite el cambio de zona horaria.
P: ¿Existe un límite en cuanto al número de conexiones realizadas a una base de datos o un servidor SQL Azure?
No existe un límite máximo en cuanto al número de conexiones que pueden establecerse con una base de datos o un servidor. Sin embargo, recomendamos http://social.technet.microsoft.com/wiki/contents/articles/Agrupar'%20originalAttribute= para evitar el costo inicial de establecimiento de la conexión (búsqueda, protocolo de enlace SSL, proceso de inicio de sesión, etc.) así como el uso de la conexión directa.
P: ¿Cuál es la directiva de contraseñas para la cuenta de administrador de servicios de SQL Azure?
La contraseña debe contener ocho caracteres como mínimo, e incluir al menos un número, una letra y un símbolo. La contraseña no puede contener tres caracteres consecutivos del nombre de usuario.
P: ¿Puedo crear más de una cuenta de administrador para SQL Azure igual que con Windows Azure?
La versión actual de SQL Azure solo admite una cuenta de administrador y una cuenta de administrador de servicios. La característica coadministrador todavía no se admite en SQL Azure y, por lo tanto, el coadministrador verá una lista de suscripción vacía en el portal de SQL Azure. Próximamente se agregará la compatibilidad con la característica coadministrador.
P: ¿Puedo conectarme a SQL Azure sin necesidad de abrir el puerto 1433?
Puede usar el http://social.technet.microsoft.com/wiki/contents/articles/Administrador'%20originalAttribute= para conectarse y administrar SQL Azure sin necesidad de abrir el puerto 1433. Está diseñado específicamente para los desarrolladores web y otros profesionales de la tecnología que buscan una solución sencilla para desarrollar, implementar y administrar rápidamente sus aplicaciones basadas en datos en la nube.
Migración, copia de seguridad y restauración de bases de datos
P: ¿Cuáles son los métodos admitidos para mover datos entre servidores locales de SQL Server y SQL Azure?
Hay varias formas de migrar datos entre servidores locales de SQL Server y SQL Azure.
Se puede usar SQL Server Integration Services (SSIS) junto con los administradores de conexión de ADO.NET con paralelismo habilitado para mejorar el rendimiento. También puede crear scripts para los datos dependiendo de su tamaño y de sus necesidades.
También hay una herramienta de scripting desarrollada por la comunidad para la que no se ofrece soporte técnico, el http://social.technet.microsoft.com/wiki/contents/articles/Asistente'%20originalAttribute=, que está disponible en Codeplex.
Programa de copia masiva (BCP): puede usar BCP para migrar datos desde servidores locales de SQL Server a SQL Azure o viceversa.
También puede usar el Asistente para generar scripts junto con SQL Server Management Studio 2008 R2 para crear scripts para la base de datos.
En SQL Server 2008 R2 o posterior, el asistente para importación y exportación es compatible con bases de datos de SQL Azure usando el proveedor .NET para SQL Server. Para obtener más información, vea http://social.technet.microsoft.com/wiki/contents/articles/Exportar'%20originalAttribute=.
Además, revise la demostración acerca de la migración de datos locales a SQL Azure incluida en el http://social.technet.microsoft.com/wiki/contents/articles/Kit'%20originalAttribute=.
P: ¿Cómo puedo generar un script compatible con SQL Azure usando SQL Server Management Studio?
La versión de SQL Server Management Studio (SSMS) incluida con SQL Server 2008 R2 es compatible con SQL Azure. La edición Express de SSMS puede descargarse desde http://social.technet.microsoft.com/wiki/contents/articles/Microsoft'%20originalAttribute=. Para generar un script compatible con SQL Azure usando SSMS, realice los pasos siguientes:
1. En SSMS, seleccione la base de datos, haga clic con el botón secundario, seleccione Tareas y, a continuación, seleccione Generar scripts.
2. En Establecer opciones de scripting, haga clic en Avanzadas y establezca Script para tipo de motor de base de datos en Base de datos de SQL Azure
3. En “Establecer opciones de scripting”, haga clic en Avanzadas y establezca “Script para tipo de motor de base de datos” en Base de datos de SQL Azure
P: ¿Cómo puedo migrar una base de datos MySQL a SQL Azure?
El kit de herramientas http://social.technet.microsoft.com/wiki/contents/articles/Asistente'%20originalAttribute= le ayudará con la migración de sus bases de datos desde MySQL a SQL Azure. Esta herramienta reduce significativamente el esfuerzo, costo y riesgo asociados a la migración desde MySQL a SQL Server 2008 y SQL Azure. SSMA 2008 para MySQL v1.0 CTP1 proporciona una evaluación de los esfuerzos de migración y automatiza la migración de datos y esquemas.
P: ¿Es SQL Azure compatible con versiones anteriores? ¿Puedo migrar mis bases de datos de SQL Server 2000 o SQL Server 2005 a SQL Azure?
SQL Azure no se ejecuta en modo compatible con versiones anteriores. SQL Azure está basado en el código base de SQL Server 2008. Por tanto, todas las características desusadas de SQL Server 2000 y SQL Server 2005 no funcionarán en SQL Azure. Puede usar el http://social.technet.microsoft.com/wiki/contents/articles/Asesor'%20originalAttribute= para comprobar la compatibilidad de su base de datos antes de migrar a SQL Azure. Puede usar el http://social.technet.microsoft.com/wiki/contents/articles/Asistente'%20originalAttribute= para comprobar la compatibilidad entre SQL Server 2008 y SQL Azure. Esta herramienta también puede analizar seguimientos de SQL Server Profiler para comprobar la compatibilidad de las instrucciones T-SQL generadas por la aplicación.
P: ¿Qué ocurre con la copia de seguridad de los datos almacenados en SQL Azure? ¿Cómo pueden los clientes recuperar datos dañados o perdidos?
En general, es una buena práctica para los clientes realizar copias de seguridad para poder recuperar datos lógicos dañados o perdidos (por ejemplo, cuando las aplicaciones de los usuarios eliminan datos accidentalmente). El servicio también realiza copias de seguridad periódicamente y ejecuta comprobaciones de coherencia para poder recuperarse de errores de hardware, pero esto solo está disponible internamente para el servicio. Sin embargo, los clientes pueden usar el Programa de copia masiva (BCP) o SQL Server Integration Services (SSIS) para copiar los datos en una base de datos local de SQL Server en cualquier momento.
P: ¿Existen laboratorios de prácticas o demostraciones disponibles para mover datos entre SQL Server local y SQL Azure?
El http://social.technet.microsoft.com/wiki/contents/articles/Kit'%20originalAttribute= proporciona ejemplos, demostraciones y presentaciones sobre SQL Azure, incluida la migración de bases de datos.
Tamaño de las bases de datos
P: ¿Cuál es el límite en cuanto al número de bases de datos que se pueden crear en SQL Azure?
Existe un límite por software de 150 bases de datos por servidor. Los clientes pueden conseguir que se quite ese límite haciendo una llamada al Servicio de asistencia de Azure y pasando por un proceso de comprobación de crédito.
P: ¿Hay un límite en cuanto al tamaño máximo de la base de datos admitida en cada una de las ofertas?
Existen dos ediciones: Web Edition y Business Edition. El tamaño máximo permitido actualmente para las bases de datos de la Web Edition y la Business Edition es de 5 GB y 50 GB, respectivamente. Este límite se irá incrementando en el futuro. Permanezca atento a las actualizaciones a través del http://social.technet.microsoft.com/wiki/contents/articles/Blog'%20originalAttribute=
P: ¿Cuál será el comportamiento del sistema cuando se alcance el tamaño máximo de la base de datos?
Los clientes verán un código de error 40544 cuando se alcance el tamaño máximo de la edición que tienen aprovisionada. A continuación se indica el comportamiento esperado:
- Se limitarán todas las operaciones de adición de tipo insertar/actualizar/crear/modificar y cualquier intento de agregar más datos a la base de datos dará lugar a finalización de la sesión.
- Las operaciones de lectura seguirán funcionando.
- Las operaciones de tipo quitar/eliminar/truncar etc. funcionarán para que pueda reducir el tamaño de la base de datos quitando tablas y/o índices, o eliminando datos o truncando tablas.
- Puede haber un retraso de hasta 15 minutos desde que se libera el espacio hasta que se pueden insertar datos nuevos.
Encontrará más información en http://social.technet.microsoft.com/wiki/contents/articles/Instrucciones'%20originalAttribute=.
P: ¿Cómo puedo averiguar el tamaño real de mi base de datos para saber cuánto espacio queda y hacer los planes adecuados? ¿Hay alguna forma de averiguar el tamaño de una base de datos mediante programación?
El tamaño de la base de datos se calcula contando el número de páginas de la base de datos que contienen las tablas, índices y objetos. Esto es similar al cálculo del tamaño de una base de datos en la edición estándar de SQL Server: no se tiene en cuenta el espacio de disco consumido por la instancia, sino solo el espacio consumido por cada base de datos. Algunas cosas que no afectan al tamaño son:
- Los registros se excluyen del cálculo del tamaño.
- La base de datos maestra se excluye del cálculo del tamaño.
- Todas las demás bases de datos del sistema y catálogos del servidor se excluye del cálculo del tamaño.
- Todas las réplicas de base de datos de los clientes se excluyen del cálculo (solo se tiene en cuenta una de las tres réplicas de la base de datos del cliente).
No hay forma de encontrar esta información mediante programación en nuestra oferta actual. Estamos trabajando para agregar esta característica próximamente. El portal de SQL Azure mostrará las cifras de uso reales.
También puede usar la siguiente DMV (vista de administración dinámica) para obtener un tamaño aproximado de la base de datos usada:
SELECT SUM(reservered_page_count)*8.0/1024 as ‘SizeInMB’ FROM
sys.dm_db_partition_stats
P: ¿El tamaño de la base de datos incluye los registros?
No. El tamaño de la base de datos solo incluye los datos, los índices y los objetos. Para obtener más información, consulte http://social.technet.microsoft.com/wiki/contents/articles/Cuentas'%20originalAttribute=.
Facturación y métricas
P: ¿Puede explicarme cómo funciona su modelo de facturación prorrateado?
El modelo de facturación de SQL Azure es muy sencillo. Se basa en el número total de bases de datos y sus ediciones, y en el ancho de banda que se usa en cada período. Cuando se crea una base de datos (de cualquier tipo) se inicia un contador. Cuando se quita una base de datos, se para el contador. Si la base de datos existe durante todo el mes, se le cobrarán 9,99 USD para una base de datos de la Web Edition y 99,99 USD para una de la Enterprise Edition. Si tiene bases de datos que solo existieron durante unos cuantos días, se le cobra por “día de base de datos”. Para una base de datos de la Web Edition, son unos 0,30 USD.
Los detalles de uso de ancho de banda están disponibles en la DMV sys.bandwidth_usage y los detalles de uso de bases de datos están disponibles en la DMV sys.database_usage. Puede obtenerse más información sobre el modelo de fijación de precios en http://social.technet.microsoft.com/wiki/contents/articles/Precios'%20originalAttribute=.
P: ¿Dónde puedo encontrar algunas métricas para mi servicio SQL Azure?
Algunas métricas se almacenan en la base de datos maestra. Se han agregado vistas nuevas, como sys.database_usage y sys.bandwidth_usage que muestran el número, tipo y tamaño de las bases de datos, así como el uso de ancho de banda para cada base de datos.
P: ¿Se me cobra por la base de datos maestra?
No. No se cobra nada por la base de datos maestra.
Administración de las suscripciones
P: Cuando cancelo mi suscripción a Azure, ¿se elimina la base de datos de SQL Azure inmediatamente? ¿Cómo controla SQL Azure los datos que se han marcado para su eliminación?
Cuando llame para cancelar su suscripción a Azure, básicamente se cancelará la suscripción a todos los servicios de Azure. En concreto, para SQL Azure, la suscripción cambiará de Activa a Deshabilitada. Las bases de datos de SQL Azure no se eliminarán inmediatamente; existe un período de retención de 90 días en el que puede optar por volver a habilitar la suscripción a Azure o simplemente exportar sus bases de datos de SQL Azure. Después del período de gracia de 90 días, la suscripción entra en el estado Desaprovisionada y las bases de datos de SQL Azure se eliminan definitivamente.
P: ¿Cuál es la directiva de privacidad y de retención de datos de SQL Azure después de que cancelo mi suscripción?
SQL Azure elimina las bases de datos de SQL Azure 90 días después de que se cancela la suscripción.
P: ¿Puedo optar por cancelar solo SQL Azure o cualquiera de los servicios de Azure en lugar de todos los servicios?
La cancelación afecta a los 3 servicios de Azure disponibles: Windows Azure, SQL Azure y AppFabric. Sin embargo, puesto que los servicios son de tipo “pagar por lo que se usa”, si desea mantener la suscripción, pero que no se le cobre por SQL Azure, puede eliminar las bases de datos y servidores, y no se le cobrará por SQL Azure.
P: ¿Cómo puedo migrar mi base de datos de una suscripción a otra?
Puede usar la instrucción T-SQL CREATE DATABASE .... AS COPY OF ..., el Asistente para generar scripts de la versión SQL Sever 2008 R2 de SQL Server Management Studio (SSMS), SQL Server Integration Services (SSIS) o el Programa de copia masiva (BCP) para migrar bases de datos de una suscripción a otra. Dado que un servidor SQL Azure es un servidor lógico y el nombre del servidor se genera automáticamente, las cadenas de conexión del cliente deben actualizarse. Si sus suscripciones se encuentran en la misma subregión, puede comunicarse con el Servicio de asistencia para mover el servidor y las bases de datos de una suscripción a otra. La versión actual de SQL Azure solo admite un único servidor por suscripción.
P: ¿Cómo puedo intercambiar las suscripciones o mover una suscripción a otro Live ID?
Puede usar el Asistente para generar scripts de la versión SQL Sever 2008 R2 de SQL Server Management Studio (SSMS), SQL Server Integration Services (SSIS) o el Programa de copia masiva (BCP) para migrar bases de datos de una suscripción a otra. Es necesario configurar manualmente el firewall de SQL Azure en el nuevo servidor. Dado que el servidor SQL Azure es un servidor lógico y el nombre del servidor se genera automáticamente, las cadenas de conexión del cliente deben actualizarse. Estamos trabajando en una herramienta que estará disponible próximamente para ayudar a mover suscripciones de una cuenta a otra.
P: ¿Cómo puedo crear más servidores SQL Azure?
Un servidor SQL Azure es simplemente una agrupación lógica de bases de datos. SQL Azure proporciona un servidor por suscripción. Sin embargo, puede crear muchas suscripciones con una misma cuenta de la plataforma Windows Azure. Esto le permitirá crear tantos servidores como sea necesario.
Actualizaciones del servicio
P: Cuando se implementan actualizaciones del servicio, ¿tienen todos los usuarios la versión más reciente?
Sí. Las actualizaciones del servicio se implementan para todos los clientes, por lo que todos ellos tienen la versión más reciente.
P: ¿Cuál es el procedimiento para implementar revisiones del sistema operativo y actualizaciones del servicio?
Las revisiones y actualizaciones del servicio se implementan en todos los equipos del entorno de SQL Azure. Hacemos pruebas y evaluaciones para asegurarnos de que nuestras actualizaciones son compatibles con las versiones anteriores.
Otros
P: ¿Cuáles son las distintas condiciones que pueden hacer que mi carga de trabajo se vea limitada?
En general, las condiciones de limitación se pueden clasificar en una de las categorías siguientes:
- Se alcanza la cuota de tamaño de la base de datos: todas las operaciones de tipo insertar/actualizar/crear/agregar se limitarán hasta que se reduzca el tamaño de la base de datos.
- Condición de carga transitoria de corta duración: el error indicaría que el cliente necesita volver a intentarlo.
Para obtener más información sobre cómo administrar los errores de pérdida de conexión, vea el artículo sobre la http://social.technet.microsoft.com/wiki/contents/articles/administración'%20originalAttribute= en el sitio wiki de TechNet. En este artículo se enumeran las razones de las pérdidas de conexión, y se proporcionan instrucciones y procedimientos recomendados de codificación para administrar el ciclo de vida de las conexiones en SQL Azure. Además, lea el tema Solucionar problemas de SQL Azure en MSDN Library.
P: ¿Cómo evolucionará SQL Azure para admitir conjuntos de datos más grandes?
SQL Azure proporciona la plataforma para que los clientes puedan ver satisfechas sus necesidades crecientes con un potencial ilimitado. Los clientes pueden particionar los datos en el nivel de aplicación. Vamos a aumentar el tamaño permitido para las bases de datos en el futuro. También se agregará la posibilidad de realizar el particionamiento en la plataforma.
P: ¿Dónde puedo encontrar casos prácticos para SQL Azure?
Existen casos prácticos relacionados con SQL Azure en http://social.technet.microsoft.com/wiki/contents/articles/Casos'%20originalAttribute=.