Compartilhar via


Arquivar e limpar um banco de dados

Esta seção descreve como arquivar e limpar um repositório de monitoramento (nome padrão de ApplicationServerMonitoring) ou simplesmente limpar um repositório de persistência (nome padrão de ApplicationServerPersistence) no Windows Server AppFabric. À medida que o repositório de monitoramento ou persistência aumenta de tamanho, ele pode acumular muitos dados. Para manter um desempenho alto, talvez você queira arquivar os dados de monitoramento mais antigos com base em determinados critérios ou limpar alguns dados de persistência da instância obsoleta dos repositórios de monitoramento e persistência do AppFabric, respectivamente.

Você só pode arquivar e limpar um repositório com o AppFabric usando os cmdlets do Windows PowerShell que são enviados com o AppFabric, especificamente criados para esta tarefa. Os dados arquivados aplicam-se apenas ao contexto do repositório de monitoramento. O arquivamento de dados de monitoramento faz sentido porque ele é naturalmente histórico e o AppFabric Dashboard exibe métricas de monitoramento histórico na seção Histórico de Chamadas de WCF/página Eventos Controlados e na seção Histórico de Instâncias WF/página Instâncias WF Controladas. No entanto, as métricas exibidas na seção Instâncias WF Persistentes/página Instâncias WF Persistentes são dados dinâmicos em tempo real das instâncias atuais persistidas do fluxo de trabalho. O arquivamento de informações de instâncias persistidas do fluxo de trabalho e a exibição posterior delas, quando possivelmente elas tiverem sido concluídas ou não existirem mais, não fornecerão informações muito úteis a você. Por esta razão, todos os cmdlets relacionados ao arquivamento aplicam-se apenas ao repositório de monitoramento. Os recursos de limpeza de cmdlets aplicam-se aos repositórios de monitoramento e persistência. O recurso de limpeza automática do repositório de dados de AppFabric pode ser usado apenas para instalações de AppFabric configuradas para usar o Microsoft SQL Server para armazenar seu monitoramento. O repositório de monitoramento é o único banco de dados de AppFabric no qual a funcionalidade de limpeza automática existe. Ela não pode ser configurada para ser usada com o repositório de persistência.

Cmdlets para limpeza e arquivamento de um banco de dados

Os seguintes cmdlets de AppFabric para Windows PowerShell são usados para executar várias tarefas associadas à limpeza e ao arquivamento de repositórios de AppFabric.

Cmdlet Descrição

Clear-ASMonitoringSqlDatabase

Limpa dados de um banco de dados de monitoramento. Opcionalmente, os dados limpos podem ser enviados a um banco de dados de arquivamento.

Set-ASMonitoringSqlDatabaseArchiveConfiguration

Associa um banco de dados de monitoramento a um banco de dados de arquivamento de destino. O banco de dados de arquivamento de destino deve ser um banco de dados de monitoramento inicializado, pré-existente.

Get-ASMonitoringSqlDatabaseArchiveConfiguration

Retorna a configuração de arquivamento (essencialmente, a cadeia de conexão que identifica o banco de dados de destino de arquivamento), se houver alguma, do banco de dados de monitoramento especificado.

Remove-ASMonitoringSqlDatabaseArchiveConfiguration

Remove informações de configuração sobre um banco de dados de arquivamento do banco de dados de monitoramento. Assume-se que a configuração de arquivamento foi configurada anteriormente usando Set-ASMonitoringSqlDatabaseArchiveConfiguration.

Remove-ASAppServiceInstance

Limpa dados da instância "obsoleta" do repositório de persistência. Não existe nenhuma opção de arquivamento para dados limpos da instância.

Nas seções seguintes, cada um desses cmdlets é descrito mais detalhadamente e um exemplo é fornecido para mostrar como o cmdlet é usado.

Definir, obter e remover a configuração do repositório de monitoramento

Set-ASMonitoringSqlDatabaseArchiveConfiguration configura um banco de dados de monitoramento específico com um banco de dados de destino de arquivamento associado. O banco de dados de destino de arquivamento deve ser um banco de dados de monitoramento inicializado, existente. Esse cmdlet garante que os bancos de dados primário e de arquivamento contenham artefatos do banco de dados de monitoramento e que suas versões correspondam.

Get-ASMonitoringSqlDatabaseArchiveConfiguration recupera a configuração do banco de dados de arquivamento de um banco de dados de monitoramento.

Remove-ASMonitoringSqlDatabaseArchiveConfiguration remove as informações de configuração sobre um banco de dados de arquivamento do banco de dados de monitoramento.

Set-ASMonitoringSqlDatabaseArchiveConfiguration

Sintaxe 1:

Set-ASMonitoringSqlDatabaseArchiveConfiguration -ArchiveDatabase <String> -Database <String> [-Confirm] [-LinkedArchiveServer <String>] [-Server <String>] [-WhatIf] [<CommonParameters>]

Sintaxe 2:

Set-ASMonitoringSqlDatabaseArchiveConfiguration -ArchiveDatabase <String> -ConnectionString <String> [-Confirm] [-LinkedArchiveServer <String>] [-WhatIf] [<CommonParameters>]
Parâmetro Descrição

ArchiveDatabase

Nome do banco de dados de arquivamento de destino.

Database

Nome do banco de dados primário ao qual o arquivamento será configurado. Opcional, apenas se ConnectionString estiver especificado.

ConnectionString

Cadeia de conexão para o banco de dados de monitoramento primário.

LinkedArchiveServer

Nome do SQL Server que hospeda o banco de dados de arquivamento de destino.

Server

Nome do SQL Server que hospeda o banco de dados de monitoramento primário.

WhatIf

Conecta-se aos bancos de dados, mas não configura realmente o arquivamento. Opcional.

Exemplo

O exemplo a seguir define a configuração de arquivamento do banco de dados de monitoramento primário, ApplicationServerMonitoring. O banco de dados de arquivamento de destino é ArchiveMonitoringDatabase. O usuário será solicitado a confirmar a operação antes que a configuração de arquivamento seja definida.

Set-ASMonitoringSqlDatabaseArchiveConfiguration –ArchiveDatabase ArchiveMonitoringDatabase –Database ApplicationServerMonitoring

Get-ASMonitoringSqlDatabaseArchiveConfiguration

Sintaxe 1:

Get-ASMonitoringSqlDatabaseArchiveConfiguration -Database <String> [-Server <String>] [<CommonParameters>]

Sintaxe 2:

Get-ASMonitoringSqlDatabaseArchiveConfiguration -ConnectionString <String> [<CommonParameters>]
Parâmetro Descrição

Database

Nome do banco de dados primário cuja configuração de arquivamento você deseja recuperar. Opcional, apenas se uma cadeia de conexão estiver especificada.

Server

O nome do SQL Server que hospeda o banco de dados de monitoramento primário. Opcional, se não for especificado, será padronizado para o computador local.

ConnectionString

Cadeia de conexão para o banco de dados de monitoramento primário. Opcional, apenas se o banco de dados estiver especificado e o servidor estiver especificado ou padronizado para o computador local.

Remove-ASMonitoringSqlDatabaseArchiveConfiguration

Sintaxe 1:

Remove-MonitoringDatabaseArchiveConfiguration [-Database <String>] [–Server <String>] [-Confirm <Switch>][-ConnectionString<String>]
Parâmetro Descrição

Database

Nome do banco de dados primário cuja configuração de arquivamento você deseja recuperar. Opcional, apenas se uma cadeia de conexão estiver especificada.

Server

O nome do SQL Server que hospeda o banco de dados de monitoramento primário. Opcional, se não for especificado, será padronizado para o computador local.

Confirm

Quando especificado, os usuários deverão confirmar a remoção do link.

ConnectionString

Cadeia de conexão para o banco de dados de monitoramento primário. Opcional, apenas se o parâmetro do banco de dados estiver especificado e o servidor estiver especificado ou padronizado para o computador local.

Exemplo

O exemplo a seguir remove a configuração de arquivamento do banco de dados de monitoramento primário, ApplicationServerMonitoring.

Remove-MonitoringDatabaseArchiveConfiguration –Database “ApplicationServerMonitoring”

Limpando e arquivando um repositório de monitoramento

Use o cmdlet Clear-ASMonitoringSqlDatabase para limpar dados do banco de dados de monitoramento e, opcionalmente, direcionar os dados limpos para um banco de dados de monitoramento de destino de arquivamento remoto.

Clear-ASMonitoringSqlDatabase

Sintaxe 1:

Clear-ASMonitoringSqlDatabase -Database <String> [-Archive] [-CutoffTime <DateTime>] [-MaxAge <TimeSpan>] [-PurgeMode {<EventAgeMode | None | WFInstanceCompletedMode}] [-Server <String>] [<CommonParameters> [-WhatIf]]

Sintaxe 2:

Clear-ASMonitoringSqlDatabase -ConnectionString <String> [-Archive] [-CutoffTime <DateTime>] [-MaxAge <TimeSpan>] [-PurgeMode {<EventAgeMode | None | WFInstanceCompletedMode>}] [-WhatIf] [<CommonParameters>]
Parâmetro Descrição

Database

Nome do banco de dados que será limpo. Opcional, apenas se ConnectionString estiver especificado.

ConnectionString

Cadeia de conexão para o banco de dados que será limpo. Opcional, se Database e Server estiverem especificados.

Archive

Os dados que serão limpos primeiro serão arquivados no banco de dados de arquivamento pré-configurado (usando Set-ASMonitoringSqlDatabaseArchiveConfiguration). Opcional.

CutoffTime

Todos os eventos no banco de dados que foram emitidos antes do horário de fechamento serão limpos. Quando eventos do WF em WFInstanceCompletedMode, relacionados às instâncias ativas, são preservados. Esse parâmetro é opcional e, quando não especificado, seu valor é calculado obtendo-se o horário atual e subtraindo o parâmetro MaxAge.

MaxAge

A quantidade de tempo que um evento permanece em um banco de dados de monitoramento antes de ser qualificado para uma limpeza baseada em tempo. Esse parâmetro é opcional e é padronizado como 0.

PurgeMode

Determina como a limpeza será feita. Existem duas opções:

  • EventAgeMode – Limpa Todos os eventos WCF e do WF, bem como os registros da instância do WF, independentemente dessa instância estar ou não concluída. Os eventos são mantidos ou excluídos simplesmente com base em sua vida útil.

  • WFInstanceCompletedMode – Limpa todos os eventos pela vida útil, mas exclui eventos de atividades e instâncias do WF que estão relacionados às instâncias ativas. Nesse modo, registros de instâncias concluídas e eventos de atividades correspondentes serão excluídos.

    Opcional; é padronizado como EventAgeMode.

Server

Nome do servidor que hospeda o banco de dados que será limpo. Opcional; se não for fornecido, será padronizado para o servidor local.

Exemplo

Este é um exemplo simples que mostra como arquivar e analisar eventos relacionados às instâncias concluídas. Esse exemplo limpará o banco de dados de monitoramento ContosoDatabase localizado no servidor local.

Clear-ASMonitoringSqlDatabase –Database “ContosoDatabase” –PurgeMode “WFInstanceCompletedMode” –Archive

Limpando instâncias obsoletas de um repositório de persistência

Instâncias de serviços que foram removidas de todos os computadores em um Web farm ainda podem permanecer no repositório de persistência e resultarem em ruído nas consultas do repositório de persistência. Se um computador for removido da rede, uma instância persistida vinculada a esse computador removido permanecerá como uma instância obsoleta no repositório de persistência. O cmdlet Remove-ASAppServiceInstance fornece a capacidade de limpar esse tipo de instância obsoleta.

Remove-ASAppServiceInstance

Sintaxe 1:

Remove-ASAppServiceInstance -Database <String> -InstanceId <Guid> [-Confirm] [-Force] [-Server <String>] [-WhatIf] [<CommonParameters>]

Sintaxe 2:

Remove-ASAppServiceInstance -ConnectionString <String> [-Confirm] [-Force] [-WhatIf] [<CommonParameters>]

Sintaxe 3:

Remove-ASAppServiceInstance -ServiceInstanceInfo <InstanceInfo> [-Confirm] [-Force] [-WhatIf] [<CommonParameters>]
Parâmetro Descrição

Database

Nome do repositório de persistência que será limpo. Obrigatório, a menos que ConnectionString esteja especificado.

InstanceId

ID da instância de serviço no formato de uma GUID.

Confirm

Requer que o usuário confirme a operação antes que as instâncias de serviço sejam limpas. Não deve ser usado com Force.

Force

Força a operação sem a confirmação do usuário. Não deve ser usado com Confirm.

Server

Nome do SQL Server que hospeda o Database. Opcional, padronizado para o servidor local.

WhatIf

Conecta-se ao repositório mas não limpa realmente os dados da instância de serviço.

ConnectionString

Cadeia de conexão para o repositório de persistência que será limpo. Opcional, pode ser usado no lugar de Database e Server.

ServiceInstanceInfo

Consulte também

Conceitos

Administração de banco de dados

  2011-12-05