Outras classes e métodos AMO
Esta seção contém classes comuns não específicas do OLAP ou da mineração de dados, e que são úteis para a administração ou gerenciamento de objetos no Microsoft SQL Server Analysis Services. Essas classes abordam recursos como procedimentos armazenados, rastreamento, exceções e backup e restauração.
Este tópico contém as seguintes seções:
Objetos Assembly
Métodos Backup e Restore
Objetos Trace
Classe CaptureLog e atributo CaptureXML
Classe de exceção AMOException
A ilustração a seguir mostra o relacionamento das classes explicadas neste tópico.
Objetos Assembly
Um objeto Assembly é criado ao ser adicionado à coleção de assemblies do servidor e pela atualização do objeto Assembly para o servidor por meio do método Update.
Para remover um objeto Assembly, ele terá de ser descartado por meio do método Drop do objeto Assembly. Remover um objeto Assembly da coleção de assemblies do banco de dados não descartará o assembly, só impedirá que você o veja em seu aplicativo até a próxima vez em que ele for executado.
Para obter mais informações sobre os métodos e as propriedades disponíveis, consulte Microsoft.AnalysisServices..::..Assembly em Microsoft.AnalysisServices.
Observação sobre segurança |
---|
Os assemblies COM podem representar um risco à segurança. Devido a esse risco e outras considerações, os assemblies COM foram preteridos no SQL Server 2008 Analysis Services (SSAS). Talvez não haja suporte para assemblies COM em versões futuras. |
Métodos Backup e Restore
Backup e Restore são métodos que podem ser usados na criação de cópias de um banco de dados do Analysis Services e na recuperação do banco de dados usando a cópia. O método Backup pertence ao objeto Database e o método Restore pertence ao objeto Server.
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 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 Restore
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
Uma partição local não pode ser restaurada como partição remota.
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 comuns e propriedades para os métodos Backup e Restore
File é o nome do arquivo (nome UNC) para/de onde será feito o backup.
Location 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 que você ajuste a fonte de dados remota no caso de alteração do servidor remoto. DatasourceID sempre deve ser especificado quando ConnectionString estiver presente.
Folder permite o remapeamento das pastas para partições no disco rígido local
Original é a pasta original para partições locais.
New é o novo local para partições local que costumavam residir na antiga pasta 'Original' correspondente.
Password, se não estiver em branco, especifica que o servidor criptografará o arquivo de backup.
Objetos Trace
Trace é uma estrutura usada por monitorar, reproduzir novamente e gerenciar uma instância do Analysis Services. Um aplicativo cliente, como SQL Server Profiler, assina um rastreamento e o servidor retorna eventos de rastreamento como 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 Server Profiler é a ferramenta usada para analisar e para reproduzir novamente os eventos de rastreamento do Analysis Services. Várias conexões podem 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:
Crie um objeto Trace e preencha seus dados básicos, incluindo a ID de rastreamento, o nome, o nome do arquivo de log, acrescentar|substituir e outros.
Adicione eventos a serem monitorados à coleção Events do objeto de rastreamento. Para cada evento, serão adicionadas colunas de dados.
Defina filtros para excluir linhas de dados desnecessárias adicionando-os à coleção de filtros.
Inicie o rastreamento; a criação do rastreamento não inicia a coleta de dados.
Pare o rastreamento.
Examine o arquivo de rastreamento com SQL Server Profiler.
Os rastreamentos, a partir do objeto de sessão, são obtidos da seguinte forma:
Defina funções para manipular os eventos de rastreamento gerados em seu aplicativo por SessionTrace. Eventos possíveis são OnEvent e Stopped.
Adicione as funções definidas por você ao manipulador de eventos.
Inicie o rastreamento de sessão.
Faça o seu processo e deixe que os seus manipuladores de função capturem os eventos.
Pare o rastreamento de sessão.
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 iniciar a captura do XML, a propriedade do objeto de 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 obrigatórios são transactional, do tipo booleano, e parallel, do tipo booleano. Se transactional for definido como true, isso indicará que o arquivo em lotes 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, isso indicará que todos os comandos do arquivo em lotes serão registrados para execução concorrente em vez de sequencial, como foram registrados.
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 classe de AmoException.
Exceção |
Origem |
Descrição |
---|---|---|
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. |
|
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. |
|
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. |
|
Derivada de AMOException |
Esta exceção ocorre quando o mecanismo retorna uma mensagem em um formato que o AMO não compreende. |
|
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). |