Este es en parte una traducción y también un resumen de la información de alto nivel de las características de T-SQL soportadas en SQL AZURE DATABASE según fue publicada en el blog “SQL Data Services Team Blog” mientras se escribe la documentación más detallada.
En su primera versión, SQL Azure Database dará soporte a un subconjunto de T-SQL. Cada construcción de T-SQL puede clasificarse como soportada, en parte soportada o no soportada. Soportado significa que no hay diferencia en la forma en que SQL AZURE DATABASE trata a una declaración, sentencia o una función en comparación con el SQL Server. Parcialmente soportado se entiende como que SQL AZURE DATABASE soporta un subconjunto de la funcionalidad. No soportado significa que esa característica no está soportada por SQL AZURE DATABASE. Al momento de escribir el artículo no está previsto añadir nuevas construcciones al lenguaje T-SQL o cambiar la forma en que la funcionalidad actual trabaja.
En muchos aspectos, SQL AZURE DATABASE es muy similar a una instancia de SQL Server. Sin embargo, existen algunas diferencias:
- SQL AZURE DATABASE es un sistema multi-alquilado
- Los recursos de hardware son de propiedad, organizados y mantenidos por Microsoft
- SQL AZURE DATABASE es un servicio
Estas diferencias imponen ciertos requisitos en el sistema, que, a su vez, se traducen en restricciones en el T-SQL disponible para quien contrata el servicio. Estas restricciones se encajan en tres rubros:
- Manipulación de recursos. Se van a bloquear las declaraciones y las opciones que tratan de manipular directamente los recursos físicos. Esta categoría incluye RESOURCE GOVERNOR, referencias de archivos y filegroups y algunas declaraciones DDL físicas.
- Cosas que, o no son aplicables en el mundo de los servicios o son atendidos por Microsoft. Replicación es un buen ejemplo de esto.
- Por último, habrá algunas cosas que simplemente no será posibles permitirlas en la primera versión o release. Cada característica que se añade a SQL AZURE DATABASE requiere trabajo adicional para garantizar que el servicio sigue siendo eficiente, escalable y seguro. Este trabajo lleva tiempo extra, lo que significa que algunas de las características tendrán que esperar hasta la versión 2. Por ejemplo soporte a consultas distribuidas y CLR son algunos ejemplos de las funciones de esta categoría.
Qué queda adentro y que no
Los siguientes detalles muestran que está previsto soportar en la versión 1 separado en tres categorías, DDL, DML y manejabilidad.
DDL
SDS soportara total o parcialmente la creacion manipulación y eliminación de los siguiente tipos de objetos.
- FUNCTION
- INDEX
- PROCEDURE
- ROLE
- SCHEMA
- STATISTICS
- SYNONIM
- TABLE
- TRIGGER
- VIEW
La mayoría de las sentencias CREATE y ALTER de los objetos anteriores serán soportadas parcialmente debido a las restricciones impuestas. Por ejemplo la opción filegroup de la sentencia CREATE TABLE no será soportada.
Los usuarios no podrán crear objetos si no son de los tipos indicados en la lista precedente
DML
La mayoría de las sentencias DML serán soportadas total o parcialmente, incluyendo:
- SELECT/INSERT/UPDATE/DELETE functionality
- DML triggers
- JOINs
- Transactions
- La mayoría de las funciones incorporadas (agregaciones, matemáticas, fecha, hora, ranking, etc.)
Manejabilidad
Este es el área en la cual existirán más restricciones. Esto son algunos de los puntos principales:
Lo que funcionará
- Tuning via SET SHOWPLAN y SET STATISTICS
- Index tuning mediante create y drop index
- Actualización de estadísticas mediante UPDATE STATISTICS
- Información de vistas de esquema y cátalo del sistema (schema views and system catalog views)
- Alta disponibilidad es parte del servicio
- La próxima versión de SQL Server Management Studio y Visual Studio funcionarán con SQL Azure Database
Lo que no funcionará
- Backup (se recomienda BCP o SSIS como alternativa de copia).
- Server options (sp_configure)
- SQL Profiler
- SQL traceflag
Otros detalles
Pueden ver los detalles en el artículo original en
TSQL Support in SQL Azure Database