Seguindo a mesma demanda de trabalho do meu artigo anterior, onde eu precisava importar os dados de algumas entidades do Dynamics 365 CRM, para um banco de dados SQL Server, para realizar algumas análises e transformações. Com isso fui pesquisar na internet possíveis soluções e posteriormente fui perguntar para algumas pessoas da comunidade que eu participo, se alguém já tinha executado essa tarefa ou feito algo similar, quando me apresentaram essa solução que eu achei sensacional, onde eu poderia se conectar com o Common Data Service (Banco de dados do Dynamics 365), via TDS (Basicamente um protocolo que usa comunicação cliente-servidor com o SQL Server), ou seja eu poderia abrir o meu SQL Server Management Studio e começar a fazer consultas SQL com as entidades do Dynamics 365, que facilitam muito mais a vida do que usar os métodos convencionais de conexão com a base de dados do mesmo, que são o Web Service e Web API, onde ambos necessitam de desenvolvimento para realizar consultas e capturar esses dados para posteriormente realizar integrações.
Possíveis usos dos dados do Dynamics com TDS
Você pode criar uma aplicação .NET (ou outras linguagens) para se conectar ao Dynamics usando TDS, utilizando uma string de conexão similar a essa
Server=<orgname>.crm2.dynamics.com,5558;Authentication=Active Directory Password;Database=<orgname>.com;User Id=<user name(email address)>;Password=<password>;
Utilizar o Power BI como nesse artigo da Microsoft, para se conectar ao Dynamics utilizando o conector do SQL Server e realizar consultas usando SQL.
Utilizar o SQL Server Management Studio para realizar consultas utilizando SQL para realizar consultas no Dynamics 365
Pré-Requisitos
- Baixar ou abrir o SQL Server Management Studio (18.4 ou posterior)
- Habilitar o endpoint TDS no seu ambiente do Dynamics 365.
Habilitando o TDS em seu Ambiente Dynamics
Abra a Central de Administração da Power Platform, clique no ambiente em que deseja habilitar o endpoint TDS, depois acesse configurações.
Em Produto clique na “setinha”, para abrir o leque de opções como na imagem abaixo, após visualizar as opções clique em recursos.
Na página de recursos, habilite a opção “Ponto de extremidade TDS“, assim finalizando a configuração necessária do ambiente.
Se conectando a Base de Dados do Dynamics 365
Nesse exemplo vou utilizar o SQL Server Management Studio para realizar essa conexão, pois acredito que seja a interface mais recomendada e utilizada para realizar consultas ao SQL Server. https://docs.microsoft.com/en-us/powerapps/developer/common-data-service/cds-sql-query
A conexão deve seguir esse estrutura:
- Nome do Servidor : seucrm.crm2.dynamics.com,5558
- Autenticação : Azure Active Directory – senha
- Nome do usuário:seuemailcrm@teste.com.br
- Senha : senha do email informado
- Nome do Servidor : seucrm.crm2.dynamics.com,5558
- Autenticação : Azure Active Directory – senha
- Nome do usuário:seuemailcrm@teste.com.br
- Senha : senha do email informado
Após se conectar irá aparecer a estrutura do servidor com todas tabelas, semelhante a imagem abaixo
Com a conexão criada você pode criar consultas SQL e realizar suas análises.
Para mais informações acesse a documentação oficial da Microsoft
https://docs.microsoft.com/en-us/powerapps/developer/common-data-service/cds-sql-query
Observações 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.
- Existe uma limitação de Tempo de Execução da consulta de 2 minutos, ou seja você deve utilizar esse recurso para consultas que não são muito complexas e que não demandem mais que dois minutos para retornar todos os dados solicitados
Referências
https://docs.microsoft.com/en-us/powerapps/developer/common-data-service/cds-sql-query