Compartilhar via


Passo a passo do Conector do SQL Genérico

Este tópico é um guia passo a passo. Ele cria um banco de dados de RH de exemplo simples e o usará para a importação de alguns usuários e sua associação a um grupo.

Observação

Microsoft Entra ID agora fornece uma solução baseada em agente leve para provisionar usuários em um banco de dados SQL, sem a necessidade de uma implantação de sincronização do MIM. É recomendável usá-lo para provisionamento de usuário de saída. Saiba mais.

Preparar o banco de dados de exemplo

Em um servidor que executa SQL Server, execute o script SQL encontrado no Apêndice A. Esse script cria um banco de dados de exemplo com o nome GSQLDEMO. O modelo de objeto para o banco de dados criado é semelhante a esta imagem:
Modelo de objeto

Também crie um usuário que deseja usar para se conectar ao banco de dados. Neste passo a passo, o usuário é chamado FABRIKAM\SQLUser e está localizado no domínio.

Criar o arquivo de conexão ODBC

O Conector do SQL Genérico está usando o ODBC para se conectar ao servidor remoto. Primeiro, precisamos criar um arquivo com as informações de conexão ODBC.

  1. Inicie o utilitário de gerenciamento ODBC no servidor:
    Captura de tela mostrando um campo de pesquisa com O DB C inserido.
  2. Selecione a guia DSN de Arquivo. Clique em Adicionar....
    Captura de tela do utilitário de gerenciamento do ODB C com a guia Arquivo DSN selecionada.
  3. O driver pronto para uso funciona bem, portanto, selecione-o e clique em Avançar>.
    Captura de tela mostrando as opções de driver para a nova fonte de dados.
  4. Nomeie o arquivo, como GenericSQL.
    Captura de tela mostrando um nome de arquivo novo de exemplo inserido no campo e um botão Avançar.
  5. Clique em Concluir.
    Captura de tela mostrando os detalhes da nova fonte de dados e um botão Concluir.
  6. Hora de configurar a conexão. Forneça uma boa descrição à fonte de dados e o nome do servidor que executa o SQL Server.
    Captura de tela mostrando o assistente de configuração com uma descrição de exemplo e o nome do servidor e um botão Avançar.
  7. Selecione como deseja se autenticar com o SQL. Nesse caso, usamos a Autenticação do Windows.
    Captura de tela mostrando a etapa de autenticação com a opção de autenticação integrada do Windows selecionada e um botão Avançar.
  8. Forneça o nome do banco de dados de exemplo, GSQLDEMO.
    Captura de tela mostrando o nome do banco de dados inserido no campo de banco de dados e um botão Avançar.
  9. Mantenha todas as opções como padrão nesta tela. Clique em Concluir.
    Captura de tela mostrando as configurações padrão na etapa final do assistente e um botão Concluir.
  10. Para verificar se tudo está funcionando como esperado, clique em Testar Fonte de Dados.
    Captura de tela mostrando os detalhes de configuração da nova fonte de dados do OD B C e um botão Testar Fonte de Dados.
  11. Verifique se o teste foi bem-sucedido.
    Captura de tela mostrando os resultados do teste e um botão O K.
  12. O arquivo de configuração ODBC agora deverá estar visível no DSN de Arquivo.
    Captura de tela do utilitário de gerenciamento O D B C com a guia Arquivo DSN selecionada e o novo arquivo de configuração do OD B C listado.

Agora temos o arquivo necessário e podemos começar a criar o Conector.

Criar o Conector do SQL Genérico

  1. Na interface de usuário do Synchronization Service Manager, selecione Conectores e Criar. Selecione SQL Genérico (Microsoft) e dê a ele um nome descritivo.
    Captura de tela mostrando o assistente Criar Conector com o conector selecionado e um botão Avançar.
  2. Encontre o arquivo DSN criado na seção anterior e o carregue no servidor. Forneça as credenciais para se conectar ao banco de dados.
    Captura de tela mostrando o arquivo DSN com credenciais inseridas e um botão Avançar.
  3. Neste passo a passo, estamos facilitando nosso trabalho dizendo que há dois tipos de objeto, User e Group. Captura de tela mostrando os dois tipos de objeto inseridos no campo de lista de valores fixos e um botão Avançar.
  4. Para encontrar os atributos, queremos que o Conector os detecte observando a própria tabela. Já que Users é uma palavra reservada no SQL, precisamos fornecê-la entre colchetes [ ].
    Captura de tela mostrando o valor de Detecção de Atributos do valor de tabela e tabela dos usuários e um botão Avançar.
  5. Hora de definir o atributo de âncora e o atributo DN. Para Users, usamos a combinação dos dois atributos username e EmployeeID. Para Group, usamos GroupName (não realista na vida real, mas funcionará nesse passo a passo). Captura de tela mostrando o nome de usuário, a ID do funcionário e o nome do grupo, com um botão Avançar.
  6. Nem todos os tipos de atributo podem ser detectados em um banco de dados SQL. Em particular, o tipo de atributo de referência não tem essa capacidade. Para o tipo de objeto de grupo, precisamos alterar a OwnerID e a MemberID para fazer referência a elas.
    Captura de tela mostrando os campos ID do proprietário e ID de membro atualizados e um botão Avançar.
  7. Os atributos que selecionamos como referência na etapa anterior exigem o tipo de objeto para o qual esses valores são uma referência. Em nosso caso, o tipo de objeto de Usuário.
    Captura de tela mostrando o tipo de objeto selecionado e um botão Avançar.
  8. Na página Parâmetros Globais, selecione Marca-d'água como a estratégia delta. Digite também o formato de data/hora aaaa-MM-dd HH:mm:ss. Captura de tela mostrando os campos da estratégia delta e o formato de data e hora e um botão Avançar.
  9. Na página Configurar Partições e Hierarquias, escolha ambos os tipos de objeto. Captura de tela mostrando os dois tipos de objeto selecionados e o botão Avançar.
  10. Em Selecionar Tipos de Objeto e Selecionar Atributos, selecione os dois tipos de objeto e todos os atributos. Na página Configurar Âncoras, clique em Concluir.

Criar perfis de execução

  1. Na interface do usuário do Synchronization Service Manager, selecione Conectores e Configurar Perfis de Execução. Clique em Novo Perfil. Começamos com Importação Completa.
    Captura de tela mostrando o assistente Configurar Perfil de Execução com Importação Completa inserida no campo Nome e um botão Avançar.
  2. Selecione o tipo Importação Completa (Somente Estágio).
    Captura de tela mostrando o tipo selecionado e um botão Avançar.
  3. Selecione a partição OBJECT=User.
    Captura de tela mostrando a partição selecionada e um botão Avançar.
  4. Selecione Tabela e digite [USERS]. Role para baixo até a seção de tipo de objeto com vários valores e insira os dados como na imagem a seguir. Selecione Concluir para salvar a etapa.
    Captura de tela mostrando o método de operação Table selecionado e os usuários no campo tabela.
    Captura de tela mostrando valores de tipo de objeto de valores múltiplos inseridos para a condição de nome e junção.
  5. Selecione Nova Etapa. Desta vez, selecione OBJECT=Group. Na última página, use a configuração como na imagem a seguir. Clique em Concluir.
    Captura de tela mostrando o método de operação Table selecionado e agrupar no campo tabela.
    Captura de tela mostrando os valores de tipo de objeto inseridos para o nome da tabela e da condição de junção.
  6. Opcional: se quiser, você poderá configurar perfis de execução adicionais. Para este passo a passo, foi usada apenas a Importação Completa.
  7. Clique em OK para concluir a alteração de perfis de execução.

Adicionar alguns dados de teste e testar a importação

Preencha alguns dados de teste no banco de dados de exemplo. Quando estiver pronto, selecione Executar e Importação completa.

Aqui está um usuário com dois números de telefone e um grupo com alguns membros.
Captura de tela de dados mostrando um usuário com dois números de telefone.
Captura de tela dos dados mostrando um grupo com alguns membros.

Apêndice A

Script SQL para criar o banco de dados de exemplo

---Creating the Database---------
Create Database GSQLDEMO
Go
-------Using the Database-----------
Use [GSQLDEMO]
Go
-------------------------------------
USE [GSQLDEMO]
GO
/****** Object:  Table [dbo].[GroupMembers]   ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[GroupMembers](
    [MemberID] [int] NOT NULL,
    [Group_ID] [int] NOT NULL
) ON [PRIMARY]

GO
/****** Object:  Table [dbo].[GROUPS]   ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[GROUPS](
    [GroupID] [int] NOT NULL,
    [GROUPNAME] [nvarchar](200) NOT NULL,
    [DESCRIPTION] [nvarchar](200) NULL,
    [WATERMARK] [datetime] NULL,
    [OwnerID] [int] NULL,
PRIMARY KEY CLUSTERED
(
    [GroupID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object:  Table [dbo].[USERPHONE]   ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[USERPHONE](
    [USER_ID] [int] NULL,
    [Phone] [varchar](20) NULL
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object:  Table [dbo].[USERS]   ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[USERS](
    [USERID] [int] NOT NULL,
    [USERNAME] [nvarchar](200) NOT NULL,
    [FirstName] [nvarchar](100) NULL,
    [LastName] [nvarchar](100) NULL,
    [DisplayName] [nvarchar](100) NULL,
    [ACCOUNTDISABLED] [bit] NULL,
    [EMPLOYEEID] [int] NOT NULL,
    [WATERMARK] [datetime] NULL,
PRIMARY KEY CLUSTERED
(
    [USERID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
ALTER TABLE [dbo].[GroupMembers]  WITH CHECK ADD  CONSTRAINT [FK_GroupMembers_GROUPS] FOREIGN KEY([Group_ID])
REFERENCES [dbo].[GROUPS] ([GroupID])
GO
ALTER TABLE [dbo].[GroupMembers] CHECK CONSTRAINT [FK_GroupMembers_GROUPS]
GO
ALTER TABLE [dbo].[GroupMembers]  WITH CHECK ADD  CONSTRAINT [FK_GroupMembers_USERS] FOREIGN KEY([MemberID])
REFERENCES [dbo].[USERS] ([USERID])
GO
ALTER TABLE [dbo].[GroupMembers] CHECK CONSTRAINT [FK_GroupMembers_USERS]
GO
ALTER TABLE [dbo].[GROUPS]  WITH CHECK ADD  CONSTRAINT [FK_GROUPS_USERS] FOREIGN KEY([OwnerID])
REFERENCES [dbo].[USERS] ([USERID])
GO
ALTER TABLE [dbo].[GROUPS] CHECK CONSTRAINT [FK_GROUPS_USERS]
GO
ALTER TABLE [dbo].[USERPHONE]  WITH CHECK ADD  CONSTRAINT [FK_USERPHONE_USER] FOREIGN KEY([USER_ID])
REFERENCES [dbo].[USERS] ([USERID])
GO
ALTER TABLE [dbo].[USERPHONE] CHECK CONSTRAINT [FK_USERPHONE_USER]
GO