Serviços de mineração de dados e fontes de dados

Aplica-se a: SQL Server 2019 e anteriores 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 Compatibilidade com versões anteriores do Analysis Services.

A mineração de dados requer uma ligação a 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 recomenda-se o uso de fontes relacionais; no entanto, a mineração de dados utiliza componentes fornecidos pelo motor SQL Server Analysis Services.

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

Serviços de Mineração de Dados

O componente servidor do Microsoft SQL Server SQL Server Analysis Services é a aplicação msmdsrv.exe, que normalmente funciona como um serviço Windows. Esta aplicação consiste em componentes de segurança, um componente ouvinte XML para Análise (XMLA), um componente processador de consultas e numerosos outros componentes internos que executam as seguintes funções:

  • Análise das declarações recebidas dos clientes

  • Gerir metadados

  • Gestão de transações

  • Processamento de cálculos

  • Armazenamento de dados dimensionais e de células

  • Criação de agregações

  • Consultas de agendamento

  • Armazenamento em cache de objetos

  • Gestão dos recursos do servidor

Ouvinte XMLA

O componente ouvinte XMLA gere todas as comunicações XMLA entre os Serviços de Análise SQL Server e os seus clientes. A configuração da porta do SQL Server Analysis Services no ficheiro msmdsrv.ini pode ser usada para especificar uma porta onde uma instância do SQL Server Analysis Services ouve. Um valor de 0 neste ficheiro indica que os Serviços de Análise do SQL Server escutam na porta predefinida. Salvo especificação em contrário, o SQL Server Analysis Services utiliza as seguintes portas TCP predefinidas:

Port Description
2383 Instância padrão do SQL Server SQL Server Analysis Services.
2382 Redirecionador para outras instâncias do SQL Server Analysis Services.
Atribuído dinamicamente no arranque do servidor Instância nomeada do SQL Server SQL Server Analysis Services.

Para mais informações sobre o controlo das portas usadas por este serviço, consulte Configurar o Firewall do Windows para Permitir o Acesso aos Serviços de Análise.

Conectando-se a fontes de dados

Sempre que cria ou atualiza uma estrutura ou modelo de mineração de dados, utiliza dados definidos por uma fonte de dados. A fonte de dados não contém os dados, que podem incluir livros de trabalho Excel, ficheiros de texto e bases de dados SQL Server; Define apenas a informação da ligação. Uma vista de fonte de dados (DSV) serve como uma camada de abstração sobre essa fonte, modificando ou mapeando os dados obtidos da fonte.

Está fora do âmbito deste tópico descrever os requisitos de ligação para cada uma destas fontes. Para mais informações, consulte a documentação do prestador. No entanto, em geral, deve estar ciente dos seguintes requisitos dos Serviços de Análise ao interagir com prestadores:

  • Como a mineração de dados é um serviço fornecido por um servidor, a instância dos Serviços de Análise do SQL Server deve ter acesso à fonte de dados. Existem dois aspetos do acesso: localização e identidade.

    Localização significa que, se construir um modelo usando dados armazenados apenas no seu computador e depois implementar o modelo num servidor, o modelo não será processado porque a fonte de dados não pode ser encontrada. Para resolver este problema, pode ser necessário transferir dados para a mesma instância do SQL Server onde o SQL Server Analysis Services está a correr, ou mover ficheiros para um local partilhado.

    Identidade significa que os serviços em SQL Server Analysis Services devem ser capazes de abrir o ficheiro de dados ou a fonte de dados com as credenciais apropriadas. Por exemplo, quando construiu o modelo, pode ter tido permissões ilimitadas para visualizar os dados, mas o utilizador que processa e atualiza os modelos no servidor pode ter acesso limitado ou nenhum aos dados, o que pode causar falhas no processamento ou afetar o conteúdo do modelo. No mínimo, a conta usada para se ligar à fonte de dados remota deve ter permissões de leitura dos dados.

  • Quando move um modelo, aplicam-se os mesmos requisitos: deve configurar o acesso adequado à localização da fonte de dados antiga, copiar as fontes de dados ou configurar uma nova fonte de dados. Além disso, deve transferir logins e funções, ou configurar permissões para permitir que objetos de mineração de dados sejam processados e atualizados na nova localização.

Configuração de Permissões e Propriedades do Servidor

A mineração de dados requer permissões adicionais numa base de dados SQL Server Analysis Services. A maioria das propriedades de mineração de dados pode ser definida usando a Caixa de Diálogo de Propriedades do Servidor de Análise (Serviços de Análise).

Para mais informações sobre as propriedades que pode configurar, consulte Propriedades do Servidor nos Serviços de Análise.

As seguintes propriedades do servidor são particularmente relevantes para a mineração de dados:

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

    Importante

    Para melhorar a segurança, recomendamos que defina esta propriedade como falsa. O valor padrão é false. No entanto, mesmo que esta propriedade esteja definida como falsa, os utilizadores podem continuar a criar consultas singleton e podem usar o OPENQUERY em fontes de dados permitidas.

  • AllowedProvidersInOpenRowSet Especifica o fornecedor, caso o acesso ad hoc esteja ativado. Pode especificar vários fornecedores, introduzindo uma lista separada por vírgulas de ProgIDs.

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

O servidor fornece propriedades adicionais que controlam quais os algoritmos de mineração de dados disponíveis, incluindo quaisquer restrições aos algoritmos e os valores predefinidos para todos os serviços de mineração de dados. No entanto, não existem definições que permitam controlar especificamente o acesso a procedimentos armazenados de mineração de dados. Para mais informações, consulte Propriedades de Mineração de Dados.

Também podes definir propriedades que te permitam ajustar o servidor e controlar a segurança para o uso do cliente. Para mais informações, consulte Propriedades de Funcionalidades.

Observação

Para mais informações sobre o Suporte a algoritmos de plug-in pelas edições do SQL Server, veja Funcionalidades Suportadas pelas Edições do SQL Server 2012 (https://go.microsoft.com/fwlink/?linkid=232473).

Acesso Programático a Objetos de Mineração de Dados

Pode usar os seguintes modelos de objetos para criar uma ligação a uma base de dados de Serviços de Análise e trabalhar com objetos de mineração de dados:

ADO Utiliza o OLE DB para se ligar a um servidor de Serviços de Análise. Quando usa ADO, o cliente fica limitado a consultas de conjunto de linhas de esquema e instruções DMX.

ADO.NET Interage melhor com fornecedores SQL Server do que com outros fornecedores. Utiliza adaptadores de dados para armazenar conjuntos de linhas dinâmicos. Utiliza o objeto dataset, que é uma cache dos dados do servidor armazenada como tabelas de dados que podem ser atualizadas ou guardadas como XML.

ADOMD.NET Um fornecedor de dados gerido 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 do servidor. Recomendado para aplicações clientes, exceto quando o .NET não está disponível.

Server ADOMD Modelo de objetos para aceder diretamente a objetos dos Serviços de Análise no servidor. Utilizado pelos procedimentos armazenados dos Serviços de Análise; Não para uso do cliente.

AMO Interface de gestão para Serviços de Análise que substitui os Objetos de Apoio à Decisão (DSO). Operações como iterar objetos requerem permissões mais elevadas ao usar AMO do que ao usar outras interfaces. Isto porque o AMO acede diretamente aos metadados, enquanto o ADOMD.NET e outras interfaces acedem apenas aos esquemas da base de dados.

Navegar e Consultar Acesso a Servidores

Pode realizar todo o tipo de previsões utilizando uma instância de Serviços de Análise em modo OLAP/Data Mineing, com as seguintes restrições:

  • Se usares o ADOMD do servidor, podes usar DMX para aceder ao servidor sem fazer ligação. Pode então copiar os resultados diretamente para uma tabela de dados. No entanto, não pode usar o Server ADOMD com instâncias remotas; Só podes consultar o servidor local.

  • ADO.NET não suporta parâmetros nomeados para mineração de dados. Tens de usar ADOMD.NET.

  • ADOMD.NET permite passar uma tabela inteira para usar como parâmetro; Portanto, pode usar dados no cliente, ou dados que não estejam disponíveis para o servidor. Também pode usar tabelas moldadas como entrada de previsão.

Utilização de Procedimentos Armazenados de Mineração de Dados

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

Se o procedimento devolver um conjunto de dados, o cliente receberá um conjunto de dados ou tabela de dados com uma tabela aninhada contendo as linhas. Por exemplo, se criares uma consulta contra o conteúdo do modelo, a consulta devolve o modelo completo. Para evitar trazer demasiadas linhas de volta, pode escrever procedimentos armazenados usando o modelo de objetos ADOMD+.

Para escrever um procedimento armazenado para servidor, deve consultar o espaço de nomes Microsoft.AnalysisServices.AdomdServer. Para mais informações sobre como criar e utilizar procedimentos armazenados, consulte Funções Definidas pelo Utilizador e Procedimentos Armazenados.

Observação

Os procedimentos armazenados não podem ser usados para alterar a segurança em objetos do servidor de dados. Quando executa um procedimento armazenado, o contexto atual do utilizador é usado para determinar o acesso a todos os objetos do servidor. Portanto, os utilizadores devem ter permissões apropriadas sobre quaisquer objetos da base de dados a que acedam.

Ver também

Arquitetura Física (Serviços de Análise - Dados Multidimensionais)
Arquitetura Física (Serviços de Análise - Mineração de Dados)
Gestão de Soluções e Objetos de Mineração de Dados