Interesante en SQL Azure CTP: Heaps can not be replicated tables. Please create a clustered index for the table

Hola que tal.
 
Continuando con mis pruebas de SQL Azure intente hacer una prueba de tipo «a ver que pasa» cree una tabla muy simple en SQL Azure
 
Create Schema Sales
GO
 
Create table Sales.Customer
(
CustomerId int Identity(1,1),
FirstName nvarchar(50),
LastName nvarchar(50)
)
Posteriormente intente agregarle datos a esta tabla
 
Insert Into Sales.Customer
(
FirstName,
LastName
)
Values
(
‘Emilio Vicente’,
‘Martinez Vazquez’
)
 
Si esta sentencia la ejecutas en SQL 2008 corre sin problemas sin embargo en SQL Azure recibiras el mismo error que aparece como titulo de este post
 
Heaps can not be replicated tables. Please create a clustered index for the table
 
Dado que SqlAzure esta pensado en la alta disponibilidad de tus datos todas tus tablas deberan tener el clustered index para que se pueda llevar a cabo la replicacion automatica. Caso contrario no podras insertar datos en dicha tabla.  Por lo tanto deberas tener esto en cuenta cuando estes haciendo el diagrama de tu base de datos que pienses mover a Sql Azure. Ahora creemos el indice que SQL Azure espera:
 
Create Clustered Index CIX_Customer ON Sales.Customer(CustomerID)
GO
Intentemos de nuevo insertar los datos:
Insert Into Sales.Customer
(
FirstName,
LastName
)
Values
(
‘Emilio Vicente’,
‘Martinez Vazquez’
)
Com podran observar ahora si dejara insertar los datos sin problema alguno.
 
Espero les sea util
 
Saludos!!
 
P.D les paso la liga de mi twitter www.twitter.com/netclr

SQL AZURE Services Relacional!

Hola de nuevo!

Se que ha pasado muuucho tiempo desde mi ultimo articulo sobre TDE (transparent data encription), la verdad he estado muy ocupado y me da pena tardar tanto en poner este articulo pero la verdad vale muchisimo la pena. El dia de hoy estuve jugando un rato con SQL Azure, (http://www.microsoft.com/azure/sql.mspx aqui pueden pedir un codigo para poder tener acceso al CTP cuando ya tengan acceso probablemente reciban los errores que yo recibi y aqui viene la forma de solucionarlos) y observe al menos 3 areas de oportunidad.

1. Intenta conectarte desde el SSMS 2008 (SQL Sever Management Studio 2008, no se puede con el 2005) cuando abres esta herramienta recibiras un error.

     Solucion. Cierra ese primer cuadro de dialogo de conexion, haz click en el boton de new query y en le cuadro de dialogo de conexion mete el nombre del servidor completo (algo asi como nombredatabase.ctp.database.windows.net) en nombre usuario mete el nombre de usuario que metiste en el proceso de registro cuando te haya llegado la invitacion) en password tienes que meter el password que te pidio en el proceso de registro. Hacer click en la parte de advanced y teclear el nombre de la base de datos que hayas creado en SQL Azure, posteriormente hacer click en conectar.

2. Si quieres cambiar de contexto de base de datos (en caso de que hayas creado mas de una base de datos, hasta ahorita puedes crear solo hasta 5 bases de datos) no puedes usar la tan conocida sentecia ‘USE nombreBaseDeDatos’ si quieres cambiar de base de datos tienes que repetir el paso 1 y cambiar el nombre de la base de datos). (ver este thread http://social.msdn.microsoft.com/Forums/en-US/ssdsgetstarted/thread/6d1a006e-146e-4bd1-8ecc-3726422bb425)

3. Si deseas conectarte a traves del server explorer  de Visual Studio 2008 o 2010 introduces el nombre del servidor completo (algo como nombredatabase.ctp.database.windows.net)  tu usuario igual que en el paso 1, nuevamente haces click on advanced y en la parte de network library selecciona TCP/IP, haces click en test connection (sin seleccionar una base de datos) y obtendras el cuadro de dialogo de que la conexion se realizo satisfactoriamente, ahora escribe el nombre de la base de datos master o de alguna otra base de datos que hayas creado y obtendras un error, la razon? Actualmente no te podras conectar usando la herramienta visual, sin embargo si escribes la cadena de conexion en el web.config podras conectarte a SQL Azure sin problemas (ver este thread (http://social.msdn.microsoft.com/Forums/en-US/ssdsgetstarted/thread/e77370b1-987b-4ae1-b469-927119e62482).

Como podran observar  aun hay areas de oportunidad sin embargo aun es CTP, por otro lado, el simple hecho de que ahora podamos usar SQL Azure casi como la base de datos local es realmente emocionante los invito a probar esta nueva experiencia y a que se ‘suban a la nube’!.

 Saludos!