Estado de Bloqueio do Site Não Altera Após Atualização do Administrador: Causa e Solução
🔍 WiseChecker

Estado de Bloqueio do Site Não Altera Após Atualização do Administrador: Causa e Solução

Você é um administrador do SharePoint que alterou o estado de bloqueio de um site de Somente Leitura para Desbloqueado, mas o site continua somente leitura para todos os usuários. Esse problema ocorre porque o SharePoint armazena em cache os estados de bloqueio e os aplica de forma assíncrona no farm. Este artigo explica a causa raiz no banco de dados de conteúdo e as etapas exatas para forçar a alteração do estado de bloqueio a ter efeito imediato.

Principais Conclusões: Forçando uma Atualização do Estado de Bloqueio no SharePoint

  • SharePoint Management Shell > Set-SPSite -LockState: Use este cmdlet do PowerShell com o parâmetro -LockState para alterar o estado de bloqueio do site no nível do banco de dados.
  • Central de administração do SharePoint > Sites ativos > URL do site > Configurações: A interface define um estado de bloqueio pendente que deve ser processado pelo trabalho do temporizador.
  • Trabalho do temporizador “Atualização do Estado de Bloqueio do Site”: Este trabalho aplica o estado de bloqueio pendente; execute-o manualmente após uma atualização pela interface para forçar a alteração.

ADVERTISEMENT

Por que o Estado de Bloqueio Não Altera Após uma Atualização do Administrador

O SharePoint armazena os estados de bloqueio do site em dois lugares: no banco de dados de conteúdo e no cache de objetos da coleção de sites. Quando você altera o estado de bloqueio pela interface da Central de administração do SharePoint, o sistema grava o novo valor no banco de dados de conteúdo, mas o marca como pendente. Um trabalho do temporizador chamado “Atualização do Estado de Bloqueio do Site” deve ser executado para aplicar a alteração ao cache de objetos da coleção de sites e atualizar os servidores web front-end.

A causa raiz de um estado de bloqueio travado é um atraso na agenda do trabalho do temporizador. Por padrão, o trabalho do temporizador “Atualização do Estado de Bloqueio do Site” é executado a cada 60 minutos. Se você precisa que a alteração tenha efeito imediato, deve aguardar o trabalho ou acioná-lo manualmente.

Outra causa é que a atualização pela interface falha silenciosamente quando o site está em um estado de bloqueio que impede gravações no banco de dados de conteúdo. Por exemplo, se você definir o estado de bloqueio como “Somente Leitura” e depois tentar desbloquear o site pela interface, a interface pode não conseguir gravar o comando de desbloqueio porque o próprio site está somente leitura. Nesse caso, você deve usar o PowerShell para ignorar a camada da interface.

Como Funciona o Cache do Estado de Bloqueio

Cada servidor web front-end armazena em cache o estado de bloqueio para desempenho. O cache é atualizado a cada 60 segundos por padrão. Mesmo após o trabalho do temporizador atualizar o banco de dados, o valor em cache em cada servidor ainda pode mostrar o estado antigo. É por isso que alguns usuários veem o site como bloqueado enquanto outros o veem como desbloqueado após a alteração.

Etapas para Alterar o Estado de Bloqueio do Site e Forçar a Atualização

Use o método que corresponde ao seu ambiente. O Método 1 funciona na maioria dos casos. Use o Método 2 quando a interface não responder ou quando o site estiver bloqueado como Somente Leitura e você não conseguir alterá-lo pela interface.

Método 1: Alterar o Estado de Bloqueio pela Interface e Executar o Trabalho do Temporizador Manualmente

  1. Abra a Central de administração do SharePoint
    Acesse https://admin.microsoft.com/SharePoint. Faça login com uma conta de administrador do SharePoint.
  2. Navegue até Sites ativos
    Na navegação à esquerda, clique em Sites ativos. Encontre o site cujo estado de bloqueio está travado. Clique na URL do site para abrir o painel de detalhes.
  3. Altere o estado de bloqueio
    No painel de detalhes, clique em Configurações. Em Estado de bloqueio do site, selecione o novo estado: Desbloqueado para remover o bloqueio, Somente leitura para impedir edições ou Sem acesso para bloquear todos os usuários. Clique em Salvar.
  4. Execute o trabalho do temporizador manualmente
    No servidor SharePoint, abra a Administração Central do SharePoint. Vá para Monitoramento > Revisar definições de trabalho. Na lista, encontre o trabalho chamado Atualização do Estado de Bloqueio do Site. Clique no nome do trabalho. Na página de definição do trabalho, clique em Executar Agora.
  5. Verifique o estado de bloqueio
    Aguarde 60 segundos para o cache ser atualizado. Navegue até a URL do site. Confirme que o site agora mostra o estado de bloqueio correto.

Método 2: Alterar o Estado de Bloqueio Usando PowerShell

  1. Abra o SharePoint Management Shell
    Em um servidor SharePoint, clique com o botão direito em SharePoint Management Shell e selecione Executar como administrador.
  2. Obtenha o estado de bloqueio atual
    Execute este comando para ver o estado atual:
    Get-SPSite -Identity "https://yourtenant.sharepoint.com/sites/yoursite" | Select-Object Url, LockState
    Substitua a URL pela URL da sua coleção de sites.
  3. Defina o novo estado de bloqueio
    Execute este comando para alterar o estado de bloqueio para Desbloqueado:
    Set-SPSite -Identity "https://yourtenant.sharepoint.com/sites/yoursite" -LockState "Unlock"
    Use "ReadOnly" ou "NoAccess" para outros estados.
  4. Force a aplicação da alteração
    Execute este comando para limpar o cache em todos os servidores front-end:
    Get-SPServer | ForEach-Object { $_.CacheReset() }
    Esta ação requer privilégios de Administrador do Farm.
  5. Verifique a alteração
    Execute o comando Get-SPSite novamente. O valor de LockState deve corresponder ao que você definiu.

ADVERTISEMENT

Se o Estado de Bloqueio Ainda Não Alterar

SharePoint retorna erro “Site está bloqueado” após desbloqueio

Se você ainda vir o erro após executar o trabalho do temporizador, o banco de dados de conteúdo pode ter um registro de estado de bloqueio corrompido. Execute este comando PowerShell para verificar o banco de dados diretamente:
Get-SPSite -Identity "https://yourtenant.sharepoint.com/sites/yoursite" -Confirm:$false
Se o comando retornar um LockState como “Unlock” mas o site ainda aparecer como bloqueado, o problema está na linha do banco de dados de conteúdo. Entre em contato com o Suporte da Microsoft para reparar a linha.

Trabalho do temporizador “Atualização do Estado de Bloqueio do Site” não aparece na Administração Central

Este trabalho do temporizador é criado automaticamente quando você cria uma coleção de sites. Se estiver faltando, execute o seguinte comando PowerShell para criá-lo:
New-SPTimerJob -Name "Site Lock State Update" -Type "Microsoft.SharePoint.Administration.SPLockStateTimerJob" -Schedule "Daily from 0:00 to 23:59 every 60 minutes"
Em seguida, execute o trabalho manualmente conforme descrito no Método 1.

Usuários em regiões diferentes veem estados de bloqueio diferentes

Isso é um atraso na propagação do cache. Após forçar a atualização, aguarde até 15 minutos para que todos os servidores front-end atualizem seu cache. Se o problema persistir, limpe o cache em cada servidor usando o comando PowerShell da etapa 4 do Método 1.

Item Interface da Central de Administração do SharePoint PowerShell Set-SPSite
Opções de estado de bloqueio Desbloqueado, Somente leitura, Sem acesso Unlock, ReadOnly, NoAccess
Aplica a alteração imediatamente Não, aguarda o trabalho do temporizador Sim, no nível do banco de dados
Funciona quando o site está como Somente Leitura Não, a interface não pode gravar em um site bloqueado Sim, ignora a camada da interface
Requer conclusão do trabalho do temporizador Sim Não, mas o cache ainda precisa ser atualizado

Use a interface para alterações programadas. Use o PowerShell quando o site estiver bloqueado como Somente Leitura ou quando você precisar que a alteração seja aplicada imediatamente.

Agora você pode alterar o estado de bloqueio em qualquer site do SharePoint e forçar a atualização sem esperar pela agenda padrão do trabalho do temporizador. Em seguida, revise a agenda do trabalho do temporizador “Atualização do Estado de Bloqueio do Site” na Administração Central e ajuste-a para ser executada com mais frequência se sua organização precisar de alterações rápidas no estado de bloqueio. Uma dica prática: sempre execute o comando Get-SPSite após uma alteração pela interface para confirmar que o valor do banco de dados foi atualizado antes de executar o trabalho do temporizador.

ADVERTISEMENT