Amo outras classes e métodos

Aplica-se a: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Esta seção contém classes comuns que não são específicas para OLAP ou mineração de dados e que são úteis ao administrar ou gerenciar objetos no Analysis Services. Essas classes abordam recursos como procedimentos armazenados, rastreamento, exceções e backup e restauração.

A ilustração a seguir mostra o relacionamento das classes explicadas neste tópico.

Outras classes no AMO

Objetos assembly

Um Assembly objeto é criado adicionando-o à coleção assemblies do servidor e atualizando o Assembly objeto para o servidor, usando o método Update.

Para remover um Assembly objeto, ele precisa ser descartado usando o método Drop do Assembly objeto . Remover um Assembly objeto da coleção assemblies do banco de dados não remove o assembly, ele só impede que você o veja em seu aplicativo até a próxima vez que você executar seu aplicativo.

Para obter mais informações sobre métodos e propriedades disponíveis, consulte Assembly em Microsoft.AnalysisServices .

Importante

Os assemblies COM podem representar um risco à segurança. Devido a esse risco e outras considerações, não há mais suporte para assemblies COM.

Métodos de backup e restauração

Backup e restauração são métodos que podem ser usados para criar cópias de um banco de dados e recuperar o banco de dados usando a cópia. O método Backup pertence ao Database objeto e o método Restore pertence ao Server objeto .

Somente os administradores de servidor e de banco de dados podem executar um backup de um banco de dados. Somente os administradores de servidor podem restaurar um banco de dados em um servidor diferente de onde foi feito o backup. Os administradores de banco de dados só poderão restaurar um banco de dados substituindo o banco de dados existente se forem proprietários do banco de dados que será substituído. Depois de uma restauração, o administrador de banco de dados poderá perder acesso ao banco de dados restaurado se ele for restaurado com suas definições de segurança originais.

Os arquivos de backup de banco de dados devem ter extensões .abf.

Método de backup

Para fazer backup de um banco de dados, use o método Backup do objeto de banco de dados com o nome do arquivo de backup como parâmetro.

Valores padrão

AllowOverwrite=false

BackupRemotePartitions=false

Security=CopyAll

ApplyCompression=true

Método de restauração

Para restaurar um banco de dados para um servidor, use o método Restore do servidor com o arquivo de backup como parâmetro.

Valores padrão

AllowOverwrite=false

DataSourceType=Remote

Security=CopyAll

Restrições

  1. Uma partição local não pode ser restaurada como partição remota.

  2. Uma partição remota não pode ser restaurada como partição local, mas uma partição remota pode ser restaurada em um servidor diferente de onde foi feito seu backup.

Parâmetros e propriedades comuns para métodos de Backup e Restauração

  • File é o nome do arquivo para backup (nome UNC) de/para.

  • O local especifica informações de backup específicas do servidor, como BackupFile. Isso permite que você especifique um arquivo de backup separado para um banco de dados remoto.

  • DatasourceID especifica a ID do banco de dados subordinado em um servidor remoto.

  • ConnectionString permite ajustar a fonte de dados remota caso o servidor remoto tenha sido alterado. DatasourceID sempre deve ser especificado quando ConnectionString estiver presente.

  • A pasta permite o remapeamento das pastas para partições no disco rígido local

  • Original é a pasta original para partições locais.

  • Novo é o novo local para partições locais que costumavam residir na pasta antiga 'Original' correspondente.

  • A senha, se não estiver em branco, especifica que o servidor criptografará o arquivo de backup.

Objetos de rastreamento

O rastreamento é uma estrutura usada para monitorar, reproduzir e gerenciar uma instância do Analysis Services. Um aplicativo cliente, como o SQL Profiler, assina um rastreamento e o servidor envia eventos de rastreamento de volta, conforme especificado na definição de rastreamento.

Cada evento é descrito por uma classe de evento. O tipo de classe de evento descreve o tipo de evento gerado. Em uma classe de evento, as subclasses descrevem um nível mais refinado de categorização. Cada evento é descrito por um número de colunas. As colunas que descrevem um evento de rastreamento são consistentes para todos os eventos e são compatíveis com a estrutura de rastreamento do SQL. As informações registradas em cada coluna podem variar dependendo da classe de evento; ou seja, um conjunto predefinido de colunas é definido para cada rastreamento, mas o significado da coluna pode variar dependendo da classe de evento. Por exemplo, a coluna TextData é usada para registrar a ASSL original para todos os eventos de instrução.

Uma definição de rastreamento pode incluir uma ou mais classes de evento a serem rastreadas simultaneamente. Para cada classe de evento, podem ser adicionadas uma ou mais colunas de dados à definição de rastreamento, mas nem todas as colunas de rastreamento devem ser usadas. O administrador de banco de dados pode decidir quais das colunas disponíveis serão incluídas em um rastreamento. Além disso, as classes de evento podem ser rastreadas seletivamente com base em critérios de filtragem em qualquer coluna no rastreamento.

Os rastreamentos podem ser iniciados e excluídos. Vários rastreamentos podem ser executados a qualquer momento. Os eventos de rastreamento podem ser capturados ao vivo ou direcionados a um arquivo para análise posterior ou para nova reprodução. SQL Profiler é a ferramenta usada para analisar e reproduzir eventos de rastreamento. Várias conexões têm permissão para receber eventos do mesmo rastreamento.

Os rastreamentos podem ser divididos em dois grupos: rastreamentos de servidor e rastreamentos de sessão. Os rastreamentos de servidor informam todos os eventos do servidor; os rastreamentos de sessão só informam eventos da sessão atual.

Os rastreamentos, a partir da coleção de rastreamentos do servidor, são definidos da seguinte forma:

  1. Crie um Trace objeto e preencha seus dados básicos, incluindo ID de rastreamento, nome, nome do arquivo de log, acréscimo|substituição e outros.

  2. Adicione eventos a serem monitorados à coleção Events do objeto de rastreamento. Para cada evento, serão adicionadas colunas de dados.

  3. Defina filtros para excluir linhas de dados desnecessárias adicionando-os à coleção de filtros.

  4. Inicie o rastreamento; a criação do rastreamento não inicia a coleta de dados.

  5. Pare o rastreamento.

  6. Examine o arquivo de rastreamento com o SQL Profiler.

Os rastreamentos, a partir do objeto de sessão, são obtidos da seguinte forma:

  1. Defina funções para manipular os eventos de rastreamento gerados em seu aplicativo por SessionTrace. Eventos possíveis são OnEvent e Stopped.

  2. Adicione as funções definidas por você ao manipulador de eventos.

  3. Inicie o rastreamento de sessão.

  4. Faça o seu processo e deixe que os seus manipuladores de função capturem os eventos.

  5. Pare o rastreamento de sessão.

  6. Prossiga com o seu aplicativo.

Classe CaptureLog e atributo CaptureXML

Todas as ações a serem executadas pelo AMO são enviadas para o servidor como mensagens XMLA. O AMO oferece os meios para a captura de todas essas mensagens sem os cabeçalhos SOAP. Para obter mais informações, consulte Introdução às classes AMO. CaptureLog é o mecanismo do AMO para a geração de scripts para objetos e operações; os objetos e as operações serão incluídos em scripts no XMLA.

Para começar a capturar o XML, a propriedade de objeto do servidor CaptureXML precisa ser definida como true. Em seguida, todas as ações que precisam ser enviadas ao servidor começarão a ser capturadas na classe CaptureLog, sem serem enviadas ao servidor. CaptureLog é considerada como classe porque possui um método, Clear, usado para limpar o log de captura.

Para ler o log, obtenha a a coleção de cadeias de caracteres e inicie a iteração pelas cadeias de caracteres. Além disso, você pode concatenar todos os logs em uma cadeia de caracteres usando o método de objeto de servidor ConcatenateCaptureLog. ConcatenateCaptureLog possui três parâmetros, dois deles obrigatórios. Os parâmetros necessários são transacionais, de tipo booliano e paralelos, do tipo booliano. Se transacional for definido como true, ele indicará que o arquivo em lote XML será criado como uma única transação em vez de cada comando ser tratado como uma transação separada. Se parallel for definido como true, ele indicará que todos os comandos no arquivo em lote serão registrados para execução simultânea em vez de sequencialmente conforme foram gravados.

Classe de exceção AMOException

Você pode usar a classe de exceção AMOException para capturar facilmente as exceções em seu lançadas em seu aplicativo pelo AMO.

O AMO lançará exceções quando problemas diferentes forem encontrados. A tabela a seguir lista o tipo de exceções manipuladas pelo AMO. As exceções são derivadas da AmoException classe .

Exceção Origem Descrição
AmoException Classe base O aplicativo recebe esta exceção quando um objeto pai exigido está ausente ou quando um item solicitado não é localizado em uma coleção.
OutOfSyncException Derivada de AMOException O aplicativo recebe esta exceção quando o AMO não está sincronizado com o mecanismo e o mecanismo retorna uma referência de objeto que o AMO não conhece.
OperationException Derivada de AMOException Esta é uma exceção importante recebida por aplicativos com frequência. Esta exceção contém os detalhes de um erro vindo do servidor, provavelmente por causa de uma operação malsucedida do AMO, como Update ou Process ou Drop.
ResponseFormatException Derivada de AMOException Esta exceção ocorre quando o mecanismo retorna uma mensagem em um formato que o AMO não compreende.
ConnectionException Derivada de AMOException Esta exceção ocorre quando uma conexão não pode ser estabelecida (com Server.Connect) ou quando a conexão é perdida durante a comunicação do AMO com o mecanismo (por exemplo, durante um Update ou Process ou Drop).