sexta-feira, 23 de maio de 2014

Recuperar Site Collections deletadas sem backup.



SharePoint não remove, a partir da versão 2010 (SP1), imediatamente os site collections deletados do banco de dados de conteúdo. O site collection está sinalizado como “reciclável” por meio da tabela SiteDeletion e algumas colunas (InDeletion e Restorable). Logo após a deleção do site collection, os sinalizadores estão definidos para InDeleted = 0 e Restorable = 1.

O gerenciamento da lixeira é feito pelos seguintes comandos:

Para listar os site collection deletados: Get-SPDeletedSite
Exemplo para listar os sites com “/Site/rh*” no URL: Get-SPDeletedSite '/Site/rh*’

Para recuperar os site collection deletados: Restore-SPDeletedSite
Exemplo para recuperar o site com GUID XYZ: Restore-SPDeletedSite -Identity 610857cb-8414-4a89-8bf3-ad3628f6c86c

Para remover os site collection deletados: Remove-SPDeletedSite
Exemplo para remover o site com GUID XYZ: Remove-SPDeletedSite -Identity 610857cb-8414-4a89-8bf3-ad3628f6c86c


O timer job “Gradual site delete” remove após 30 dias (default) o site collection do banco de dados de conteúdo ou imediatamente se o comando Remove-SPDeletedSite for utilizado.

Obs. Acima funciona apenas com site colletions deletados pela interface do Central Administration e não se o site for removido por meio do PowerShell (Remove-SPSite) que remove o site imediatamente do banco.

terça-feira, 20 de maio de 2014

Ferramentas úteis: Err.exe (Microsoft Exchange Server Error Code Look-up)

A ferramenta "Microsoft Exchange Server Error Code Look-up" em contrário do que o nome sugere serve para decifrar praticamente qualquer código de erro.



Aqui como exemplo a utilização da ferramenta para decifrar o código de erro clássico COM 0x80070005 (Access is denied):

c:\err.exe 0x80070005
# for hex 0x80070005 / decimal -2147024891 :
  COR_E_UNAUTHORIZEDACCESS              corerror.h
# MessageText:
# Access is denied.
  DIERR_OTHERAPPHASPRIO                        dinput.h
  DIERR_READONLY                                          dinput.h
  DIERR_HANDLEEXISTS                                 dinput.h
  DSERR_ACCESSDENIED                             dsound.h
  ecAccessDenied                                               ec.h
  ecPropSecurityViolation                                    ec.h
  MAPI_E_NO_ACCESS                                    mapicode.h
  STIERR_READONLY                                        stierr.h
  STIERR_NOTINITIALIZED                                 stierr.h
  E_ACCESSDENIED                                         winerror.h
# General access denied error
# 11 matches found for "0x80070005"

Microsoft Exchange Server Error Code Look-up

sábado, 17 de maio de 2014

Atualizar SharePoint e "The expected version of the product was not found on the system"

Muitos administradores do SharePoint e de outros ambientes já se encontraram na situação de não conseguirem instalar uma atualização de qualquer produto devido à corrupção do cache do instalador do Windows.




Mensagens comuns de erro:

"The expected version of the product was not found on the system"

“The installation of this package failed”.

A corrupção do cache, de fato, requer um rebuild do servidor para evitar futuros problemas. 

A Microsoft possuiu uma ferramenta (interna) OPUtil para reconstruir o cache, porém não garante um reparo bem sucedido. Basta abrir um chamado pelo suporte da MS e solicitar a ferramenta.

Um workaround para instalar a atualização sem verificar a versão instalada seria seguinte:

Abre um prompt (como administrador) e execute o seguinte:

caminho\atualização.exe /PACKAGE.BYPASS.DETECTION.CHECK=1

Arrumar o cache do instalador não é um trabalho trivial, e sempre é mais fácil, rápido e seguro criar um novo servidor

Leitura avançada:

Missing Windows Installer Cache Files Will Require a Computer Rebuild
When Trying to install a update you get "The expected version of the product was not found on the system."
PROJECT SERVER. THE EXPECTED VERSION OF THE PRODUCT WAS NOT FOUND ON THE SYSTEM.
Description of the command-line switches that are supported by a software installation package, an update package, or a hotfix package that was created by using Microsoft Self-Extractor
Installer Database