Skip to main content

Sobre el tamaño de SQL Azure…

Ya hemos hablado en varios ocasiones de los diferentes versiones y tamaños que puede tener SQL Azure.

A día de hoy existen dos versiones de SQL Azure; Web Edition y Business Edition. La versión Web Edition tendrá un máximo de 5Gb, mientras que la versión Businnes tendrá un máximo de 50 Gb.

Los rangos que podemos elegir para el tamaño de la base de datos son 1, 5, 10, 20, 30, 40 y 50 GB.

Pero

¿Qué pasa si elijo una base de datos de 1 Gb y llego a 1 Gb de espacio usado?

¿ Qué pasa si elijo una base de datos de 50 Gb y necesito más?

¿Si tengo una base de datos de 50 Gb y sólo uso 1 Gb? ¿Cuánto se paga?

image_thumb_371D856B

image_thumb_106EF91E 

Lo primero, es que sea como cuál se el tamaño elegido, el tamaño de la base de datos se puede modificar, ya se aumentando tamaño o disminuyéndolo, teniendo en cuenta que el máximo es 50 Gb. Más allá de este tamaño sería necesario crear una segunda base de datos y particionar los datos de la misma.

Otro tema a tener en cuenta, es que la facturación NO se hace por el tamaño de la base de datos elegida al crear la base de datos. Si elijo una base de datos de 50 Gb y tengo ocupados 12 Gb, no pago por una de 50, sino por una de 20.

A la hora de facturar se tienen en cuenta los rangos posibles; si mi base de datos ocupa 200mb, pagaré por el precio de la de 1 Gb, si mi base de datos ocupa 19 Gb pagaré por el precio de la de 20 Gb.

A día de hoy el giga de datos cuesta $9.99 / mes.

Si quieres saber el rango en el que te encuentras y por tanto lo que pagarás, puedes lanzar la siguiente sentencia:

SELECT DATABASEPROPERTYEX ('MyDDBB' , 'MaxSizeInBytes' ) 

Tamaño real de la base de datos, que lógicamente siempre será inferior al tamaño devuelto por la sentencia anterior.

SELECT SUM(reserved_page_count) * 8192 FROM sys.dm_db_partition_stats

Si se llega al tamaño máximo de la base de datos y se intenta insertar más datos, tendremos un bonito error

Msg 40544, Level 20, State 5, Line 1
The database has reached its size quota. Partition or delete data, drop indexes, or consult the documentation for possible resolutions. Code: 524289

Si necesitamos controlar el código de error en nuestra aplicación C#, el código devuelto es el 40544.

¿Pero no habíamos dicho que base de datos puede aumentarse de tamaño de la base de datos? Sí, pero…

Si estamos en una versión Web Edition de 1Gb y necesitamos más, de manera automática SQL Azure aumenta la base de datos y nos coloca en el siguiente rango, hasta un máximo de 5 Gb.

Si estamos es una versión Business Edition, podrá ir aumentando de manera automática en los rangos soportados dentro de esta versión; 1, 5, 10, 20, 30, 40 y 50.

Lo que no se hace de manera automática es el hecho de pasar de una versión Web Edition a una Business Edition. Si es una versión Web Edition y necesitamos más de 5 Gb, la base de datos NO aumentará de forma automática a 10 Gb.

No se hace de manera automática, pero SÍ se puede hacer de forma manual.

ALTER DATABASE MyDDBB MODIFY (EDITION='BUSINESS', MAXSIZE=10GB)

Cloud Storage Studio

Disponer de buenas herramientas en un punto clave para ser productivo en nuestro día a día y como no podía ser de otra manera, para trabajar con Windows Azure ocurre exactamente lo mismo.

Windows Azure es una plataforma bastante abierta y dispone de múltiples APIs que permite a cualquiera hacer sus propias herramientas, si es que las que vienen de serie con Windows Azure no nos resultan lo suficientemente útiles…o si necesito algo que la plataforma no nos da.

Por este motivo, alrededor de Azure han surgido múltiples herramientas que nos pueden simplificar la vida y ayudar a ser más productivos, herramientas gratuitas y herramienta de pago, para todos los gustos.

En este post os presento Cloud Storage Studio, una herramienta desarrollada por la empresa Cerebrata. En futuros post espero hablaros de otras.

Cloud Storage Studio es una herramienta desarrollada en WPF que permite trabajar de forma cómodo tanto con Windows Azure Storage como con las aplicaciones hosteadas en Azure.

Sí, es una herramienta de pago, pero os la presento porque en mi opinión es una de las mejores opciones que existen a día de hoy y si vais a trabajar con Azure creo que os interesa conocerla y valorarla. ($59.99 / Licencia) Tenéis una trial de 30 días.

  • Te permite conectarte a tu cuenta de Windows Azure Storage y administrar las tablas, blobs y colas.
  • Permite conectarte y administrar el development storage.
  • Te permite crear tablas, eliminarlas, crear entidades, consultarlas…
  • Te permite gestionar contenedores de blobs, crear blobs; crear, eliminar, modificar, copiar, renombrar etc…
  • Administrar colas de Azure; crear, actualizar, borrar etc…
  • Administrar aplicaciones hosteadas;
    • Hacer despliegue, actualizarlo, borrarlo, ver el estado de un servicio..
    • Desplegar en producción, preproducción, hacer paso de preproducción a producción.
    • Hacer actualizaciones de los servicios; swaping, upgrades manuales, upgrades automáticos…

Os pongo algún pantallazo para que os hagáis una idea de cómo es la herramienta:

Lo primero, conectarse a la cuenta Windows Azure Storage.

image

Si nos conectáramos a los servicios hosteados.

image

Podemos ver las tablas, colas y contenedores de blobs en la parte izquierda.

image

Por ejemplo, podemos crear un contenedor y subir un blob.

image

Y realizar las acciones que consideremos sobre el blob.

image

Por ejemplo, también podemos crear tablas y subir entidades a esas tablas.

image

y por supuesto, también podemos administrar las colas.

image

Actualización de SQL Azure

Ya está disponible una nueva actualización para SQL Azure con interesantes mejoras, la cuarta actualización.

Desde mi punto de vista la principal mejora es una de las más esperadas…la opción de copiar una base de datos, que permite hacer un snapshot de una base de datos de SQL Azure en tiempo real en un servidor diferente del datacenter.

No es la opción backup de SQL Server, pero sí es un primer paso para tener esta característica dentro de SQL Azure.

Podéis leer toda la información completa sobre la característica en la MSDN; cómo copiar una base de datos en el mismo servidor, de un servidor a otro, cómo monitorizar el proceso etc…

CREATE DATABASE destination_database_name
    AS COPY OF [source_server_name.]source_database_name

Además de esta característica existen otras cosas que mencionar:

Han desplegado Houston en más datacenters, con el objetivo de minimizar la latencia de red a la hora de interactuar con Houston y una base de datos SQL Azure.

Para aquellos que no os suene Houston,  es una herramienta web hecha en Silverlight, que nos permite conectarnos a una base de datos SQL Azure y realizar las labores típicas que se puede realizar; manejar tablas, vistas, procedimientos almacenados, lanzar querys, abrir y lanzar ficheros sql….

Y por último, han incluido más documentación en la MSDN, han creado una sección de “HOW-TO” bastante interesante.

Un vistazo al Access Control de Windows Azure

Hace unas semanas os comentaba que ya estaban disponibles nuevas funcionales de Windows Azure AppFabric, funcionalidades que no están todavía en release, pero sí que puede verse y usarse en un entorno de desarrollo. (http://portal.appfabriclabs.com)

Para aquellos que conocéis poco de Azure, a modo de resumen os diré que Access Control es servicio que forma parte de Windows Azure AppFabric y que se encarga de la autenticación y autorización de los usuarios para aplicaciones. Aunque el componente forma parte de Azure, éste servicio puede ser usado por aplicaciones que no residan en Windows Azure.

Su objetivo es simplificar la creación de aplicaciones y servicios securizadas, empleando un modelo declarativo basado en reglas y claims.

 

access-control-infographic_lg

En este post intentaré mostraros de forma visual, un ejemplo muy sencillito que muestra cómo crear una aplicación web que hace uso de AppFabric y que emplea Windows Live ID para la autenticación de usuarios.

Si queréis probar por vosotros mismos el ejemplo, deberéis tener instalado Visual Studio 2010, Windows Identity Foundation y Windows Identity Foundation SDK.

El primer paso será autenticarse en http://portal.appfabriclabs.com y crear un namespace:

 

1

Una que vez está creado el namespace, podéis entrar en en la administración de “Access Control” y seleccionar la opción “Administrar”. 

A través de esta pantalla podremos configurar todos los aspectos que necesitamos. En el ejemplo haremos los siguientes pasos:

  • Configurar los proveedores de identidad; Windows Live, Google, Facebook, Active Directory…
  • Dar de alta la aplicación que vamos a securizar (Relaying Party).
  • Definir las reglas de AppFabric.
  • Añadir los certificados necesarios para la encriptación y firmado.

10 

Seleccionamos los proveedores de identidad.

12

Damos de alta la aplicación.

En el campo Realm y Return URL debe indicarse la URL dónde está la aplicación web. En el ejemplo, esta URL será la que genera Visual Studio al arrancar la aplicación en modo depuración (F5)

image

Una vez dada de alta la aplicación, debemos crear las reglas. Por simplificar, en este punto no he incluida ninguna regla y empleo las que la propia aplicación genera para los proveedores de identidad seleccionados.

image

En la sección de certificados tendremos que añadir la clave privada (*.pfx) de un certificado que hayamos creado previamente. En la propia pantalla de administración se indica como generar un certificado de prueba.

Hay que da de alta una entrada para la firma y otra para la encriptación.

5 

6

Una vez hemos hecho los pasos anterior, ya podemos crear una aplicación web y configurarla para que utilice AppFabric. Cuando creéis el proyecto estableced en la configuración del proyecto el puerto, para que sea el mismo que habéis puesto al dar de alta la “Relaying Party”.

Una vez esto, tendremos que añadir la referencia al STS (Secure Token Service).

2

Indicamos la ruta dónde se encuentra el fichero de la aplicación y indicamos la URL de la aplicación, la misma que se configurado en el Relaying Party.

 

3

El otro punto que tendremos que indicar es que emplea un STS existente…Windows Azure AppFabric es el STS que queremos que se emplea, por lo que tendremos que indicar la URL dónde puede obtener la configuración para WS-Federation.

La URL la podemos obtener de la sección “Application Integration” de la administración de Access Control.

image

4 7 8 9 

Y ya por último, antes de ejecutar la aplicación y ver si lo hemos hecho bien, tendremos que establecer el siguiente valor en el fichero de configuración:

<system.web>
    <httpRuntime requestValidationMode="2.0" />
    <authorization>
      <deny users="?" />

Y ya, ya podemos dar F5 y ver si todo está bien.

Al ejecutar la aplicación, nos tendrá que aparecer una ventana como la siguiente, dónde podremos elegir el proveedor de identidad que queremos emplear. Esta pantalla muestra los proveedores configurados anteriormente.        

16 

Si por ejemplo seleccionamos Windows Live ID, nos llevará a la pantalla de validación de Windows Live, nos podemos validar y una vez validados con nuestro Live ID, podremos acceder a la aplicación.

Ya está, ya tenemos la aplicación web integrada con AppFabric y Windows Live ID.

De Access 2010 a SQL Azure

En un post anterior os comentaba la posibilidad de migrar base de datos MySQL y Access 2010 a SQL Azure, a través de una herramienta de migración que Microsoft pone a nuestra disposición.

En este post veremos paso a paso cómo podemos migrar una base de datos Access 2010 a SQL Azure.

Lo primero es descargar la herramienta e instalarla. Prácticamente con siguiente-siguiente es posible instalarla.

1 2 3 4 5 6

Una vez descargada, ya podemos empezar a utilizarla. Si es la primera vez que la ejecutamos necesitaremos registrarnos en la página de licencia, descargarnos la licencia que nos da de forma gratuita, copiarla en el directorio de licencia y dar al botón de refrescar la licencia.

 7

Lo primero que nos aparecerá en el wizard de migración. Podríamos saltarnos este paso y no utilizar el wizard, pero por sencillez creo que merece la pena.

 8

Como veis, nos da elegir el destino de la migración. En este ejemplo elegiremos SQL Azure.

9

Seleccionamos las base de datos a migrar.

10

11

Y configuramos los objetos a migrar. Recordad que es capaz de migrar tanto el schema como los datos.

12

E incluimos los datos de SQL Azure…

 13

En el caso de Access 2010, podemos decirle que las tablas de la base de datos Access apunten a las nuevas tablas, las que se van a crear en SQL Azure….lógicamente, cambia tu fichero de base de datos para que apunte a la base de datos de Azure y te necesitarás introducir las credenciales de acceso a la base de datos de Azure.

14

Y ya está, migrada la base de datos!

15 

Y si no nos gusta el asistente o queremos cambiar algo, siempre lo podemos hacer de otra manera 🙂

16

De MySQL a SQL Azure

En una serie de post anteriores os he estado hablando de SQL Azure y entre otras, cosas, veíamos como podíamos migrar base de datos de SQL Server a SQL Azure, ya sea usando un script generado desde las herramientas de administración de SQL Server o usando la utilidad SQL Server Migration Wizard.

Pues bien, Microsoft acaba de publicar una herramienta que será de gran utilidad para aquellos que trabajen con MySQL 4.1 o superior, ya que permitirá migrar este tipo de base de datos a SQL Azure.

La herramienta se llama Microsoft SQL Server Migration Assistant for MySQL v1.0

Bueno, realmente permitirá migrar una base de datos MySQL a SQL Server 2005, SQL Server 2008, SQL Serverr 2008 R2 o SQL Azure. Podrá migrar tanto el schema como los datos.

Y como es posible que todavía alguien siga empleando base de datos Access…pues bien, también existe un Microsoft SQL Server Migration Assistant for Access v4.2, para que podamos olvidarnos de Access y pasarlo a SQL Server o SQL Azure.

Disponible la CTP 3 de Dallas

Dallas (¿Qué es Dallas? ) es el codename de un componente de Windows Azure, ue de manera simplificada se puede definir como un marketplace de información.

Pues bien, ya tenemos disponible la tercera CTP de Dallas en https://www.sqlazureservices.com

Las principales novedades son:

  • Autenticación básica para autenticar a los usuarios al acceder a los servicios de Dallas.
  • Flexibilizado el sistema de consulta sobre el contenido OData, como si fuera un servicio web.
  • Posibilidad de utilizar la opción “Add Service Reference” desde Visual Studio para obtener el proxy.
  • Nuevos proveedores de contenido y datos.

Si tienes alguna aplicación que usaba los servicios de la CTP2, ten en cuenta que algunos de los servicios siguen estando disponibles, pero es necesario cambiar el sistema de autenticación para poder acceder a ellos…aunque ten en cuenta que sólo estarán disponibles durante algún tiempo. Si este es tu caso, no dudes en leer este post sobre cómo migrar de la versión CTP2 a la CTP3.

Nuevas capacidades para Windows Azure AppFabric

Windows Azure evoluciona y no para ni en Agosto!

Microsoft acaba de anunciar que ya están disponibles nuevas funcionales de Windows Azure AppFabric, funcionalidades que no están todavía en release, pero sí que puede verse y usarse en un entorno de desarrollo.

La actualización sobre todo tiene bastantes cambios en la parte de Access Control.

Según comentan, las principales novedades son:

  • Soporte ampliado al proveedor de identidad. Permite a los desarrolladores crear aplicaciones y servicios que soporten tanto la integración con Active Directory Federation Services 2.0 como la integración con otros sistema de identidad web, como Windows Live ID, Open ID, Google, Yahoo o Facebook.
  • Soporte completo a los protocolos WS-Trust y WS-Federation.
  • Integración completa con Windows Identity Foundation (WIF). Se puede emplear el mismo modelo de desarrollo y herramientas usadas en WIF para aplicaciones y servicios de Azure.
  • Nueva herramienta web de gestión. Permite mayor control sobre la configuración de Access Control.

Si estáis interesados podéis acceder a http://portal.appfabriclabs.com

image 

image

Streaming de video usando Windows Azure Blobs y CDN

Como seguro que la mayoría ya sabéis, usando los Blobs de Windows Azure, entre otras cosas, es posible subir videos para poder almacenarlos en la nube.

¿Pero podemos hacer streaming de video una vez almacenados como Blob? ¿Podemos hacer Smooth Streaming?

La respuesta es que sí, si usamos la característica de Content Delivery Network (CDN) con la que contamos en el Storage.

Por si alguno no sabe lo que es, un CDN suele ser una red de servidores en ubicaciones geográficas diferentes para la distribución de contenido.

La ventaja es que como la red esta compuesta por varios servidores en diferentes ubicaciones geográficas cuando se hace una petición al CDN, el CDN busca el servidor que esta mas cerca está del usuario y utiliza ese servidor para responder al cliente.

En Windows Azure Storage, si así lo configuramos, podemos disponer de esta característica. Subir contenido al Storage para que éste se distribuya con la red de servidores. Esta característica tiene sus propias peculiaridades desde el punto de vista de facturación.

Usando los blobs de Azure y la característica de CDN podemos disponer de Streaming adaptivo de video compatible con Smooth Streaming.

En este post podéis ver un ejemplo de esta característica y ver cómo explica en más detalle cómo funciona la característica.

También comenta una herramienta que os será de gran utilidad si os interesa hacer streaming de video, ya que simplifica la subida de videos a Azure; Adaptive Streaming with Windows Azure Blobs Uploader