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 Microsoft AppFabric 1.1 para Windows Server. À 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:
|
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
2012-03-05