Olá pessoal,
Talvez eu esteja um pouco atrasado para falar sobre a possibilidade de fazermos queries SQL utilizando diretamente o banco de dados do CDS (SQL for CDS). Pois, já tem alguns meses que foi disponibilizada em modo preview. Se você ainda não viu ou testou, este post é para você!
Acho que fazer consultas usando T-SQL usando diretamente o CDS é algo que vem sendo pedido há muito tempo. Enfim nosso pedido, foi atendido, podemos fazer o que já fazíamos com o velho e bom OnPremises.
Esta nova possibilidade se deve ao fato da Microsoft estar utilizando o protocolo Tabular Data Stream (TDS), que faz a conexão e autenticação através da camada de aplicação. Porém as mensagens são transmitidas através da camada inferior to TCP, ou seja, através da camada de transporte. Parece complicado, mas se quiser abstraia para TDS é o protocolo que intermedia nosso client/aplicação se comunicar com o CDS.
O grande motivo por trás dessa nova possibilidade vem do fato de precisarmos de uma maior performance e robustez para fazer principalmente queries/reports. A API sempre este disponível e ainda podíamos utilizar o Data Export Service para replicar seu CDS em outra base de dados no Azure. Mas com acesso direto ao banco de dados e todo o potencial de user T-SQL mudamos de patamar, ficou ainda mais simples!
Alguns pontos importantes
- SQL for CDS ainda está em preview, desta forma, existem regiões que ainda não possuem esta opção disponível por hora
- Para ter acesso ao preview é necessário que a versão de nosso CDS seja igual ou superior a 9.1.0.17437
- A base de dados do CDS será disponibilizada em modo somente leitura (read-only). Assim, não podemos criar, alterar ou excluir nenhum registro, tabela ou relacionamento. Tudo isso não lhe fez lembrar de algo, sim! OnPremises! Pois é cada dia mais a nuvem pública vem se adaptando e quase se transformando em algo privado, o ciclo se renova!
Como habilitar SQL para CDS
Como disse anteriomente sua base CDS precisa ser igual ou superior a 9.1.0.17437, desta forma, a opção estará disponível para ativarmos (por favor verificar se sua região já possui a funcionalidade disponibilizada).
Se tentarmos acessar a base sem termos ativado, o seguinte erro irá ocorrer:
Login failed: TDS protocol endpoint is disabled for this organization. For more information, please visit http://aka.ms/EnableSQLForCDS RequestId: TDS;615f3b12-3be9-49dc-9482-3dfafee432ca;2 Time: 2020-07-15T07:28:46.7827368Z (Microsoft SQL Server, Error: 18456) For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&EvtSrc=MSSQLServer&EvtID=18456&LinkId=20476
Para habilitar o acesso, vá até admin.powerplatform.microsoft.com e selecione o ambiente (environment) que irá fazer a modificação, depois clique em Settings:
Depois clique em Features:
Por fim, ative o seletor TDS endpoint (preview):
Pronto, TDS endpoint foi habilitado, assim podemos acessar a base do CDS!
Acessar CDS através do SQL Server Management Studio
Bom não vou ficar repetindo o que a própria Microsoft já fez, por favor, utilize este link para saber o que é preciso para baixar o SQL Server Management Studio e realizar a conexão com o CDS. Vou apenas enfatizar como o fazer a conexão.
O server name da conexão ao SQL Server, deve seguir a seguinte estrutura:
- Server Name: SUA_ORGANIZACAO.crmREGIAO.dynamics.com,5558
- Authentication: Azure Active Directory – Password
- User name: usuário que possui acesso ao CDS
- Password: senha do usuário informado
No final teremos algo assim:
Ao estabelecermos a conexão, teremos acesso ao banco de dados (read-only), podemos visualizar as tabelas, atributos, relacionamentos, indexes e etc. E é claro consultas!
Simples, não?!
Espero ter ajudado!
[]’s,
Tiago
Um comentário em “CDS – SQL Queries”