Serviços de Mineração de Dados e Fontes de Dados

Aplica-se a: SQL Server 2019 e versões anteriores do Analysis Services Azure Analysis Services Fabric/Power BI Premium

Importante

A mineração de dados foi preterida no SQL Server 2017 Analysis Services e agora descontinuada no SQL Server 2022 Analysis Services. A documentação não é atualizada para recursos preteridos e descontinuados. Para saber mais, consulte a compatibilidade com versões anteriores do Analysis Services.

A mineração de dados requer uma conexão com uma instância do SQL Server Analysis Services. Os dados de um cubo não são necessários para mineração de dados e o uso de fontes relacionais é recomendado; no entanto, a mineração de dados usa componentes fornecidos pelo mecanismo do SQL Server Analysis Services.

Este tópico fornece informações que você precisa saber ao se conectar a uma instância do SQL Server SQL Server Analysis Services para criar, processar, implantar ou consultar modelos de mineração de dados.

Serviços de Mineração de Dados

O componente de servidor do Microsoft SQL Server SQL Server Analysis Services é o aplicativo msmdsrv.exe, que normalmente é executado como um serviço windows. Este aplicativo consiste em componentes de segurança, um componente ouvinte de XML para Análise (XMLA), um componente do processador de consultas e vários outros componentes internos adicionais que executam as seguintes funções:

  • Análise de sintaxe de instruções recebidas de clientes

  • Gerenciando metadados

  • Gerenciando transações

  • Cálculos de processamento

  • Armazenando dados de dimensão e de células

  • Criando agregações

  • Agendamento de consultas

  • Objetos de cache

  • Gerenciando recursos do servidor

Ouvinte XMLA

O componente ouvinte XMLA manipula todas as comunicações XMLA entre o SQL Server Analysis Services e seus clientes. A configuração da porta do SQL Server Analysis Services no arquivo msmdsrv.ini pode ser usada para especificar uma porta na qual uma instância do SQL Server Analysis Services escuta. Um valor 0 neste arquivo indica que o SQL Server Analysis Services escuta na porta padrão. A menos que especificado de outra forma, o SQL Server Analysis Services usa as seguintes portas TCP padrão:

Porto Description
2383 Instância padrão do SQL Server SQL Server Analysis Services.
2382 Redirecionador para outras instâncias do SQL Server SQL Server Analysis Services.
Atribuído dinamicamente na inicialização do servidor Instância nomeada do SQL Server SQL Server Analysis Services.

Para obter mais informações sobre como controlar as portas usadas por esse serviço, consulte Configurar o Firewall do Windows para permitir o acesso ao Analysis Services.

Conectando-se a fontes de dados

Sempre que você cria ou atualiza uma estrutura ou modelo de mineração de dados, usa dados definidos por uma fonte de dados. A fonte de dados não contém os dados, que podem incluir pastas de trabalho do Excel, arquivos de texto e bancos de dados do SQL Server; ele define apenas as informações de conexão. Uma DSV (exibição de fonte de dados) serve como uma camada de abstração sobre essa origem, modificando ou mapeando os dados obtidos da origem.

Está além do escopo deste tópico descrever os requisitos de conexão para cada uma dessas fontes. Para obter mais informações, consulte a documentação do provedor. No entanto, em geral, você deve estar ciente dos seguintes requisitos do Analysis Services ao interagir com provedores:

  • Como a mineração de dados é um serviço fornecido por um servidor, a instância do SQL Server Analysis Services deve ter acesso à fonte de dados. Existem dois aspectos para o acesso: localização e identidade.

    O local significa que, se você criar um modelo usando dados armazenados apenas em seu computador e, em seguida, implantar o modelo em um servidor, o modelo não será processado porque a fonte de dados não pode ser encontrada. Para resolver esse problema, talvez seja necessário transferir dados para a mesma instância do SQL Server em que o SQL Server Analysis Services está em execução ou mover arquivos para um local compartilhado.

    A identidade significa que os serviços no SQL Server Analysis Services devem ser capazes de abrir o arquivo de dados ou a fonte de dados com as credenciais apropriadas. Por exemplo, quando você criou o modelo, pode ter tido permissões ilimitadas para exibir os dados, mas o usuário que está processando e atualizando os modelos no servidor pode ter acesso limitado ou sem acesso aos dados, o que pode causar falha ao processar ou afetar o conteúdo de um modelo. No mínimo, a conta usada para se conectar à fonte de dados remota deve ter permissões de leitura para os dados.

  • Quando você move um modelo, os mesmos requisitos se aplicam: você deve configurar o acesso apropriado ao local da fonte de dados antiga, copiar as fontes de dados ou configurar uma nova fonte de dados. Além disso, você deve transferir logons e funções ou configurar permissões para permitir que objetos de mineração de dados sejam processados e atualizados no novo local.

Configurando permissões e propriedades do servidor

A mineração de dados requer permissões adicionais em um banco de dados do SQL Server Analysis Services. A maioria das propriedades de mineração de dados pode ser definida usando a caixa de diálogo Propriedades do Analysis Server (Analysis Services).

Para obter mais informações sobre as propriedades que você pode configurar, consulte as propriedades do servidor no Analysis Services.

As seguintes propriedades de servidor são de particular relevância para a mineração de dados:

  • AllowAdHocOpenRowsetQueries Controla o acesso ad hoc aos provedores OLE DB, que são carregados diretamente no espaço de memória do servidor.

    Importante

    Para melhorar a segurança, recomendamos que você defina essa propriedade como false. O valor padrão é false. No entanto, mesmo que essa propriedade seja definida como false, os usuários poderão continuar a criar consultas singleton e poderão usar OPENQUERY em fontes de dados permitidas.

  • AllowedProvidersInOpenRowset Especifica o provedor, se o acesso ad hoc estiver habilitado. Você pode especificar vários provedores inserindo uma lista separada por vírgulas de ProgIDs.

  • MaxConcurrentPredictionQueries Controla a carga no servidor causada por previsões. O valor padrão de 0 permite consultas ilimitadas para o SQL Server Enterprise e um máximo de cinco consultas simultâneas para o SQL Server Standard. As consultas acima do limite são serializadas e podem acabar.

O servidor fornece propriedades adicionais que controlam quais algoritmos de mineração de dados estão disponíveis, incluindo quaisquer restrições nos algoritmos e os padrões para todos os serviços de mineração de dados. No entanto, não há configurações que permitam controlar especificamente o acesso aos procedimentos armazenados de mineração de dados. Para obter mais informações, consulte Propriedades de Mineração de Dados.

Você também pode definir propriedades que permitem ajustar o servidor e controlar a segurança para uso do cliente. Para obter mais informações, consulte Propriedades do Recurso.

Observação

Para obter mais informações sobre o suporte para algoritmos de plug-in pelas edições do SQL Server, consulte recursos compatíveis com as edições do SQL Server 2012 (https://go.microsoft.com/fwlink/?linkid=232473).

Acesso programático a objetos de mineração de dados

Você pode usar os seguintes modelos de objeto para criar uma conexão com um banco de dados do Analysis Services e trabalhar com objetos de mineração de dados:

ADO Usa o OLE DB para se conectar a um servidor do Analysis Services. Quando você usa o ADO, o cliente é limitado a consultas de conjunto de linhas de esquema e instruções DMX.

ADO.NET Interage com provedores do SQL Server melhor do que outros provedores. Usa adaptadores de dados para armazenar conjuntos de linhas dinâmicos. Usa o objeto de conjunto de dados, que é um cache dos dados do servidor armazenados como tabelas de dados que podem ser atualizados ou salvos como XML.

ADOMD.NET Um provedor de dados gerenciado otimizado para trabalhar com mineração de dados e OLAP. ADOMD.NET é mais rápido e eficiente em termos de memória do que ADO.NET. ADOMD.NET também permite recuperar metadados sobre objetos de servidor. Recomendado para aplicativos cliente, exceto quando o .NET não está disponível.

ADOMD do servidor Modelo de objeto para acessar objetos do Analysis Services diretamente no servidor. Usado pelos procedimentos armazenados do Analysis Services; não para uso do cliente.

AMO Interface de gerenciamento do Analysis Services que substitui DSO (Objetos de Suporte à Decisão). Operações como iterar objetos exigem permissões mais altas ao usar AMO do que ao usar outras interfaces. Isso ocorre porque o AMO acessa metadados diretamente, enquanto ADOMD.NET e outras interfaces acessam apenas os esquemas de banco de dados.

Procurar e consultar o acesso aos servidores

Você pode executar todos os tipos de previsões usando uma instância do Analysis Services no modo OLAP/Mineração de Dados, com as seguintes restrições:

  • Se você usar o ADOMD do servidor, poderá usar o DMX para acessar o servidor sem fazer uma conexão. Em seguida, você pode copiar os resultados diretamente para uma tabela de dados. No entanto, você não pode usar o ADOMD do servidor com instâncias remotas; você pode consultar apenas o servidor local.

  • ADO.NET não dá suporte a parâmetros nomeados para mineração de dados. Você deve usar ADOMD.NET.

  • ADOMD.NET permite que você passe uma tabela inteira para usar como parâmetro; portanto, você pode usar dados no cliente ou dados que não estão disponíveis para o servidor. Você também pode usar tabelas em forma como entrada de previsão.

Usando procedimentos armazenados de mineração de dados

Um uso comum de procedimentos armazenados é encapsular consultas para reutilização. O cliente pode usar CALL para executar procedimentos armazenados, incluindo procedimentos armazenados do sistema do SQL Server Analysis Services.

Se o procedimento retornar um conjunto de dados, o cliente receberá um conjunto de dados ou um datatable com uma tabela aninhada contendo as linhas. Por exemplo, se você criar uma consulta no conteúdo do modelo, a consulta retornará todo o modelo. Para evitar trazer muitas linhas de volta, você pode escrever procedimentos armazenados usando o modelo de objeto ADOMD+.

Para gravar um procedimento armazenado do servidor, você deve referenciar o namespace Microsoft.AnalysisServices.AdomdServer. Para obter mais informações sobre como criar e usar procedimentos armazenados, consulte Funções Definidas pelo Usuário e Procedimentos Armazenados.

Observação

Procedimentos armazenados não podem ser usados para alterar a segurança em objetos de servidor de dados. Quando você executa um procedimento armazenado, o contexto atual do usuário é usado para determinar o acesso a todos os objetos do servidor. Portanto, os usuários devem ter permissões apropriadas em todos os objetos de banco de dados que acessarem.

Consulte Também

Arquitetura física (Analysis Services – Dados Multidimensionais)
Arquitetura física (Analysis Services – Mineração de dados)
Gerenciamento de soluções e objetos de mineração de dados