AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / dba / Perguntas / 14600
Accepted
ivanmp
ivanmp
Asked: 2012-03-08 12:25:51 +0800 CST2012-03-08 12:25:51 +0800 CST 2012-03-08 12:25:51 +0800 CST

O que um DBA precisa saber sobre SSAS?

  • 772

Já vi muito material cobrindo o aspecto comercial do SSAS, mas não muito sobre os aspectos importantes de administração e gerenciamento.

Do ponto de vista da administração de uma instância do SQL Server Analysis Services, o que um DBA ativo precisa saber sobre o SSAS para gerenciá-lo de maneira correta e eficiente?

sql-server ssas
  • 2 2 respostas
  • 21536 Views

2 respostas

  • Voted
  1. Best Answer
    ConcernedOfTunbridgeWells
    2012-03-08T14:46:09+08:002012-03-08T14:46:09+08:00

    Uma rápida visão geral do SSAS para DBAs

    Então, você é um DBA do SQL Server e acabou de herdar alguns cubos do nada para gerenciar. Um rápido curso intensivo sobre administração SSAS parece estar em ordem.

    Do ponto de vista administrativo, o SSAS é um aplicativo bastante direto, embora com muitos recursos. É muito mais simples que uma plataforma DBMS, embora diferente em vários aspectos. Além disso, existem algumas tarefas administrativas, como otimização baseada em uso específica para SSAS, que você pode ter que entender.

    Faça backup do seu arquivo de configuração

    Todos os dados de configuração residem em um arquivo chamado msdmsrv.ini. É um arquivo XML. Se você mexer na configuração por meio do SSMS (conectar ao servidor, clicar com o botão direito do mouse no servidor, selecionar propriedades), poderá definir opções que interromperão o servidor na inicialização. Faça uma cópia msmdsrv.iniantes de brincar com qualquer coisa.

    Parâmetros importantes

    Memória: SSAS é um porco da memória bíblica. Gosta de compilações de 64 bits, se possível, e muita memória. Os parâmetros 'Memory\LowMemoryLimit' e 'Memory\HighMemoryLimit' controlam as políticas de uso de memória. LowMemoryLimit não é uma alocação mínima de memória. É um limite em que o SSAS considera que o sistema está com pouca memória e começa a liberar itens de seus caches. HighMemoryLimit é o máximo absoluto que ele usará.

    Observe que o SSAS armazena seus dados em arquivos (muitos arquivos - não possui nenhum mecanismo equivalente a grupos de arquivos), portanto, faz muito uso do cache do sistema de arquivos O/S para esses arquivos. Observe que o padrão para esses limites é cerca de 65% e 80% da memória da máquina, respectivamente; portanto, se você deseja que o servidor OLAP coexista com uma instância do SQL Server, precisará desativá-los para que não brigue pela memória com o servidor de banco de dados.

    Diretórios: cinco parâmetros de interesse cobrem isso: DataDir, AllowedBrowsingFolders, BackupDir, LogDir e TempDir. DataDir e AllowedBrowsingFolders são os mais importantes.

    • AllowedBrowsingFolders afeta a lista de pastas em que o servidor OLAP colocará seus arquivos de dados. Qualquer coisa com uma interface de usuário (por exemplo, o assistente de implantação) restringirá suas opções à lista em AllowedBrowsingFolders. O valor é uma lista de diretórios delimitada por pipe ('|').

    • DataDir é o caminho padrão para arquivos. Se você pretende particionar o cubo em vários volumes, precisará configurar AllowedBrowsingFolders adequadamente.

    • LogDir é onde o servidor coloca vários arquivos de log, incluindo gravador de voo e logs de consulta. O log do gravador de vôo é usado para solução de problemas e o log de consulta OLAP é usado para otimização baseada em uso (mais sobre isso posteriormente).

    • TempDir é um local para arquivos temporários que o SSAS cria durante o processamento. Se você estiver processando grandes volumes de dados e tiver problemas de desempenho, poderá se beneficiar ao transferir isso para outro volume de dados.

    • BackupDir é o que diz na lata.

    Diversos: Alguns parâmetros diversos também podem ser de interesse. Alguns conjuntos que você pode ter que ajustar são:

    • DefaultMaxDrillthroughRows: limita o tamanho dos conjuntos de linhas de detalhamento. Você pode precisar mexer nisso para permitir mais.

    • Tópicos/tempo limite: talvez seja necessário ajustá-los. Eu nunca tive que me incomodar.

    Esses são os princípios. Você pode precisar ajustar os outros por motivos específicos, mas pode fazer sua lição de casa sobre isso.

    Um guia de referência para as propriedades do servidor SSAS pode ser encontrado aqui.

    Operações

    Implantação: você pode compilar um projeto no BIDS e obter um conjunto de arquivos que podem ser implantados com o assistente de implantação. Pode ser necessário ajustar os caminhos de arquivo para partições e algumas outras coisas.

    Tarefas administrativas programadas e em lote: os comandos são emitidos para o SSAS por meio de uma API de serviço da Web chamada XML/A. A Microsoft fornece uma ferramenta interativa para emitir comandos MDX e XML/A. Se você tiver que incorporar MDX em um comando XML/A, fique atento à necessidade de usar escapes XML, como &. Isso não é um problema com o editor MDX e a ferramenta de consulta no SSMS.

    Os trabalhos off-line podem ser executados por meio de várias tarefas de processamento de cubo SSIS, um utilitário de linha de comando chamado ascmd.exeou uma API .Net chamada AMO. Você também pode obter várias ferramentas do PowerShell e similares. ascmd.exepega um arquivo XML/A e o envia para o servidor. Se você tiver que salvar o arquivo programaticamente, talvez seja melhor trabalhar com pequenas ferramentas .Net em vez de tentar manipular arquivos XML a partir de um script .cmd.

    O guia de operações trata disso com mais detalhes.

    Segurança

    A segurança no SSAS é bastante simplista. Ele tem uma função global de 'Servidor' que possui permissões administrativas em todo o sistema. Infelizmente, você precisa de 'Server' para criar bancos de dados, então é bem provável que você precise concedê-lo aos desenvolvedores em qualquer servidor OLAP de desenvolvimento que você tenha.

    Outra segurança só pode ser aplicada a esquemas de cubo individuais. Você pode conceder permissões para ler, processar, detalhar, escrever novamente e coisas semelhantes em itens individuais para funções em um esquema. As funções nos esquemas OLAP podem ser definidas no BIDS e são implantadas com o cubo. Grupos ou usuários do AD podem ser atribuídos a essas funções por meio do SSMS.

    Um exemplo de como gerenciar programaticamente a associação de função pode ser visto aqui.

    Otimização baseada no uso

    Como um DBA, você pode se envolver nisso, mas primeiro um pouco de histórico sobre o armazenamento físico. O SSAS funciona calculando e mantendo agregados pré-construídos junto com os dados básicos. Se uma consulta puder ser atendida atingindo um agregado, o servidor OLAP usará isso em vez dos dados básicos, pois o agregado envolverá muito menos E/S e, portanto, será mais rápido recuperar os dados.

    No entanto, você precisa descobrir quais agregações calcular (ou seja, para quais combinações de atributos de dimensão gerar rollups). O BIDS tem uma ferramenta que adivinha isso e gera alguns para você. Algumas ferramentas, como o auxiliar BIDS , também permitirão que você edite manualmente os agregados.

    A otimização baseada em uso funciona obtendo um log das consultas reais emitidas para o servidor e, em seguida, usando esse log para elaborar um conjunto de agregados que seria ideal para essas consultas. Como DBA, você pode configurar o log de consulta OLAP para capturar esses dados e, em seguida, executar a otimização no cubo. Uma sinopse sobre como configurar o log de consulta pode ser encontrada aqui.

    A ferramenta para fazer isso é chamada de 'Assistente de otimização baseado em uso'. Isso reside no SSMS e pode ser encontrado abrindo a partição no explorer e selecionando 'Otimização baseada em uso' no menu do botão direito.

    O guia de desempenho aborda o ajuste com mais detalhes.

    MDX

    O MDX se parece um pouco com o SQL, mas funciona de maneira muito diferente. Um tratado sobre 'MDX para programadores SQL' é um tópico completo por si só. Sugiro ler alguns dos tutoriais sobre ele e/ou comprar um livro sobre ele. Além disso, o pessoal amigável aqui no dba.se pode ajudar com dúvidas, se você tiver alguma.

    O MDX não tem nenhum conceito de filtragem de linhas. A linguagem tem um monte de operações definidas para descobrir o que exibir nos vários eixos da consulta 1 , além de 'SELECT'. Você pode usar withinstruções que se parecem um pouco com CTEs para definir medidas e conjuntos.

    Alguns recursos introdutórios de programação MDX podem ser encontrados aqui e aqui (este é bastante antigo e muito prolixo). Existem também alguns bons livros sobre o assunto; esta questão do SO tem um pouco de fan-out para os recursos do SSAS.

    1 Embora tenha operadores não vazios que restringem os resultados a combinações que realmente possuem dados. A maioria das consultas MDX consiste em definir quais fatias mostrar nos eixos, e operadores não vazios serão necessários para evitar que as consultas retornem quantidades de nível combinatório de células vazias.

    • 51
  2. DaniSQL
    2012-03-08T12:44:14+08:002012-03-08T12:44:14+08:00

    Você pode obter algumas das respostas sobre a administração do SSAS neste longo white paper Guia de operações do SQL Server 2008 R2 Analysis Services . Assim começa a introdução:

    Neste guia, você encontrará informações sobre como testar e executar o Microsoft SQL Server Analysis Services no SQL Server 2005, SQL Server 2008 e SQL Server 2008 R2 em um ambiente de produção. O foco deste guia é como você pode testar, monitorar, diagnosticar e remover problemas de produção até mesmo nos maiores cubos dimensionados. Este documento também fornece orientação sobre como configurar o servidor para obter o melhor desempenho possível.

    Claramente, é direcionado para DBA/admins. Se você também desenvolve aplicativos usando SSAS, também pode consultar o whitepaper Guia de desempenho do Analysis Services 2008

    Não posso falar por experiência própria, pois não trabalho diretamente no SSAS - apenas tento me familiarizar examinando algumas partes do white paper que mencionei acima e também fiz um treinamento de dois dias da Pragmatic Works alguns meses atrás e leia o livro http://amzn.to/za1ypP da autoria dos formadores. Além disso, uma introdução muito básica pode ser encontrada no capítulo 17 deste livro - Beginning Microsoft® SQL Server&® 2008 Administration .

    • 6

relate perguntas

  • SQL Server - Como as páginas de dados são armazenadas ao usar um índice clusterizado

  • Preciso de índices separados para cada tipo de consulta ou um índice de várias colunas funcionará?

  • Quando devo usar uma restrição exclusiva em vez de um índice exclusivo?

  • Quais são as principais causas de deadlocks e podem ser evitadas?

  • Como determinar se um Índice é necessário ou necessário

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como ver a lista de bancos de dados no Oracle?

    • 8 respostas
  • Marko Smith

    Quão grande deve ser o mysql innodb_buffer_pool_size?

    • 4 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    restaurar a tabela do arquivo .frm e .ibd?

    • 10 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Como selecionar a primeira linha de cada grupo?

    • 6 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    pedrosanta Listar os privilégios do banco de dados usando o psql 2011-08-04 11:01:21 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST
  • Martin Hope
    bernd_k Quando devo usar uma restrição exclusiva em vez de um índice exclusivo? 2011-01-05 02:32:27 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve