Diferenças entre o Transact – SQL para SQL Server em comparação ao SQL Azure

Pessoal, boa tarde.

Tudo bem?

Como estou trabalhando um pouco mais como SQL Azure atualmente, foi possível observar a existência de algumas limitações e até mesmo incompatibilidades entre o Transact-SQL utilizado pelo SQL Server em relação ao Transact – SQL utilizado no SQL Azure.

Para aqueles que não sabem, o Transact-SQL é uma linguagem que contém os comandos usados para administrar instâncias do SQL Server, incluindo criar e gerenciar todos os objetos em uma instância do SQL Server e inserindo, recuperando, modificar e apagar todos os dados nas tabelas.

Aplicativos podem se comunicar com uma instância do SQL Server através do envio de instruções Transact-SQL para o servidor.  Banco de dados do Microsoft SQL Azure oferece suporte a um subconjunto do Transact-SQL para SQL Server 2008 e SQL Server 2012.

O suporte para a referência do Transact-SQL no SQL Azure pode ser descrito em três categorias principais. O SQL Azure não suporta todas as instruções de Transact-SQL que são entregues no SQL Server 2008 e 2012. A tabela a seguir fornece uma lista de instruções de Transact-SQL que não oferecem suporte ao banco de dados SQL Azure:

$PARTITION fn_syscollector_get_execution_stats
ADD SIGNATURE fn_trace_geteventinfo
ALTER RESOURCE GOVERNOR fn_trace_getinfo
ALTER SERVICE MASTER KEY fn_trace_gettable
ASSEMBLYPROPERTY fn_virtualfilestats
ASYMKEY_ID fn_virtualservernodes
ASYMKEYPROPERTY FREETEXT
BACKUP FREETEXTTABLE
BACKUP CERTIFICATE FULLTEXTCATALOGPROPERTY
BACKUP MASTER KEY FULLTEXTSERVICEPROPERTY
BACKUP SERVICE MASTER KEY GET CONVERSATION GROUP
BEGIN CONVERSATION TIMER GET_FILESTREAM_TRANSACTION_CONTEXT
BEGIN DIALOG CONVERSATION GET_TRANSMISSION_STATUS
BEGIN DISTRIBUTED TRANSACTION GRANT/REVOKE/DENY ALL
BULK INSERT GRANT/REVOKE/DENY ALL PRIVILEGES
cdc.fn_cdc_get_all_changes_<capture_instance> GRANT/REVOKE/DENY Assembly Permissions
cdc.fn_cdc_get_net_changes_<capture_instance> GRANT/REVOKE/DENY Asymmetric Key Permissions
CERT_ID GRANT/REVOKE/DENY Certificate Permissions
CERTPROPERTY GRANT/REVOKE/DENY Endpoint Permissions
CHANGE_TRACKING_CURRENT_VERSION GRANT/REVOKE/DENY Full-text Catalog Permissions
CHANGE_TRACKING_IS_COLUMN_IN_MASK GRANT/REVOKE/DENY Server Permissions
CHANGE_TRACKING_MIN_VALID_VERSION GRANT/REVOKE/DENY Server Principal Permissions
CHANGETABLE GRANT/REVOKE/DENY Service Broker Permissions
CHECKPOINT GRANT/REVOKE/DENY Symmetric Key Permissions
CLOSE MASTER KEY GRANT/REVOKE/DENY System Object Permissions
CLOSE SYMMETRIC KEY GRANT/REVOKE/DENY XML Schema Collection Permissions
COMPUTE
CONNECTIONPROPERTY HAS_DBACCESS
CONTAINS INDEXKEY_PROPERTY
CONTAINSTABLE IS_OBJECTSIGNED
CREATE/DROP AGGREGATE KEY_GUID
CREATE/ALTER/DROP APPLICATION ROLE KEY_ID
CREATE/ALTER/DROP ASSEMBLY KEY_NAME
CREATE/ALTER/DROP ASYMMETRIC KEY KILL
CREATE/ALTER/DROP BROKER PRIORITY KILL QUERY NOTIFICATION SUBSCRIPTION
CREATE/ALTER/DROP CERTIFICATE KILL STATS JOB
CREATE/ALTER/DROP CONTRACT LOGINPROPERTY
CREATE/ALTER/DROP CREDENTIAL MOVE CONVERSATION
CREATE/ALTER/DROP CRYPTOGRAPHIC PROVIDER NEWSEQUENTIALID
CREATE/ALTER/DROP DATABASE AUDIT SPECIFICATION OBJECT_DEFINITION
CREATE/ALTER/DROP DATABASE ENCRYPTION KEY OPEN MASTER KEY
CREATE/ALTER/DROP DEFAULT OPEN SYMMETRIC KEY
CREATE/ALTER/DROP ENDPOINT OPENDATASOURCE
CREATE/ALTER/DROP EVENT NOTIFICATION OPENQUERY
CREATE/ALTER/DROP EVENT SESSION OPENROWSET
CREATE/ALTER/DROP FULLTEXT CATALOG OPENXML
CREATE/ALTER/DROP FULLTEXT INDEX ORIGINAL_DB_NAME
CREATE/ALTER/DROP FULLTEXT STOPLIST ORIGINAL_LOGIN
CREATE/ALTER/DROP MASTER KEY PathName
CREATE/ALTER/DROP MESSAGE TYPE PUBLISHINGSERVERNAME
CREATE/ALTER/DROP PARTITION FUNCTION READTEXT
CREATE/ALTER/DROP PARTITION SCHEME RECEIVE
CREATE/ALTER/DROP QUEUE RECONFIGURE
CREATE/ALTER/DROP REMOTE SERVICE BINDING RESTORE
CREATE/ALTER/DROP RESOURCE POOL RESTORE FILELISTONLY
CREATE/ALTER/DROP ROUTE RESTORE HEADERONLY
CREATE/ALTER/DROP SERVER AUDIT RESTORE LABELONLY
CREATE/ALTER/DROP SERVER AUDIT SPECIFICATION RESTORE MASTER KEY
CREATE/ALTER/DROP SERVICE RESTORE REWINDONLY
CREATE/ALTER/DROP SYMMETRIC KEY RESTORE SERVICE MASTER KEY
CREATE/ALTER/DROP WORKLOAD GROUP RESTORE VERIFYONLY
CREATE/ALTER/DROP XML SCHEMA COLLECTION SELECT INTO Clause
CREATE/DROP RULE SEND
CREATE/DROP XML INDEX SET ANSI_DEFAULTS
DATABASEPROPERTY SET ANSI_NULLS
DBCC CHECKALLOC SET CONCAT_NULL_YIELDS_NULL
DBCC CHECKCATALOG SET ANSI PADDING_OFF
DBCC CHECKCONSTRAINTS SET CONTEXT_INFO
DBCC CHECKDB SET DISABLE_DEF_CNST_CHK
DBCC CHECKFILEGROUP SET OFFSETS
DBCC CHECKIDENT SET REMOTE_PROC_TRANSACTIONS
DBCC CHECKTABLE SETUSER
DBCC CLEANTABLE SHUTDOWN
DBCC DBREINDEX SIGNBYASYMKEY
DBCC dllname SIGNBYCERT
DBCC DROPCLEANBUFFERS snapshots.fn_trace_getdata
DBCC FREEPROCCACHE SYMKEYPROPERTY
DBCC FREESESSIONCACHE sys.fn_all_changes_<capture_instance>
DBCC FREESYSTEMCACHE sys.fn_builtin_permissions
DBCC HELP sys.fn_cdc_decrement_lsn
DBCC INDEXDEFRAG sys.fn_cdc_get_column_ordinal
DBCC INPUTBUFFER sys.fn_cdc_get_max_lsn
DBCC OPENTRAN sys.fn_cdc_get_min_lsn
DBCC OUTPUTBUFFER sys.fn_cdc_has_column_changed
DBCC PROCCACHE sys.fn_cdc_increment_lsn
DBCC SHOWCONTIG sys.fn_cdc_is_bit_set
DBCC SHRINKDATABASE sys.fn_cdc_map_lsn_to_time
DBCC SHRINKFILE sys.fn_cdc_map_time_to_lsn
DBCC SQLPERF sys.fn_check_object_signatures
DBCC TRACEOFF sys.fn_net_changes_<capture_instance>
DBCC TRACEON sys.fn_translate_permissions
DBCC TRACESTATUS sys.fn_validate_plan_guide
DBCC UPDATEUSAGE sys.fn_xe_file_target_read_file
DBCC USEROPTIONS sys.login_token
DECRYPTBYASYMKEY sys.user_token
DECRYPTBYCERT sys.fn_validate_plan_guide
DECRYPTBYKEY sys.fn_xe_file_target_read_file
DECRYPTBYKEYAUTOASYMKEY sys.login_token
DECRYPTBYKEYAUTOCERT sys.numbered_procedure_parameters
DECRYPTBYPASSPHRASE sys.numbered_procedures
ENCRYPTBYASYMKEY sys.user_token
ENCRYPTBYCERT UPDATETEXT
ENCRYPTBYKEY VERIFYSIGNEDBYASYMKEY
ENCRYPTBYPASSPHRASE VERIFYSIGNEDBYCERT
END CONVERSATION WITH CHANGE_TRACKING_CONTEXT
EVENTDATA WITH XMLNAMESPACES
fn_get_audit_file WRITETEXT
fn_get_sql XML_SCHEMA_NAMESPACE
fn_syscollector_get_execution_details

Fontes:

SQL Azure Portal: http://www.microsoft.com/azure/sql.mspx

SQL Azure Developer Center: http://msdn.microsoft.com/en-us/sqlserver/dataservices/default.aspx  

SQL Azure Documentation: http://msdn.microsoft.com/en-us/library/cc512417.aspx

Anúncios

Autor: Junior Galvão - MVP

Profissional com vasta experiência na área de Tecnologia da Informação e soluções Microsoft. Graduado no Curso Superior em Gestão da Tecnologia de Sistemas de Informação. Pós-Graduado no Curso de Gestão e Engenharia de Processos para Desenvolvimento de Software com RUP na Faculdade FIAP - Faculdade de Informática e Administração Paulista de São Paulo. Pós-Graduado em Gestão da Tecnologia da Informação Faculdade - ESAMC Sorocaba. Formação MCDBA Microsoft, autor de artigos acadêmicos e profissionais postados em Revistas, Instituições de Ensino e WebSistes. Meu primeiro contato com tecnologia ocorreu em 1995 após meus pais comprarem nosso primeiro computador, ano em que as portas para este fantástico mundo se abriram. Neste mesmo ano, comecei o de Processamento de Dados, naquele momento a palavra TI não existia, na verdade a Tecnologia da Informação era conhecida como Computação ou Informática, foi assim que tudo começou e desde então não parei mais, continuando nesta longa estrada até hoje. Desde 2001 tenho atuado como Database Administrator - Administrador de Banco de Dados - SQL Server em tarefas de Administração, Gerenciamento, Migração de Servidores e Bancos de Dados, Estratégias de Backup/Restauração, Replicação, LogShipping, Implantação de ERPs que utilizam bancos SQL Server, Desenvolvimento de Funções, Stored Procedure, Triggers. Experiência na Coordenação de Projetos de Alta Disponibilidade de Dados, utilizando Database Mirroring, Replicação Transacional e Merge, Log Shipping. Atualmente trabalho como Administrador de Banco de Dados no FIT - Instituto de Tecnologia da Flextronics, como também, Consultor em Projetos de Tunnig e Performance para clientes, bem como, Professor Titular na Fatec São Roque. Desde 2008 exerço a função de Professor Universitário, para as disciplinas de Banco de Dados, Administração, Modelagem de Banco de Dados, Programação em Banco de Dados, Sistemas Operacionais, Análise e Projetos de Sistemas, entre outras. Possuo titulação Oficial Microsoft MVP - SQL Server renovada desde 2007.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s