Archive

Posts Tagged ‘Troubleshooting’

Setup is unable to proceed to the following error(s)

November 24, 2017 Leave a comment

CENÁRIO:

Hoje precisei instalar um VM SharePoint 2013 para fazer um robô de migração/exportação de dados para uma outra aplicação.

Ao instalar o SharePoint 2013 SP1 no Windows Server 2012 R2, logo de cara, me deparo com erro ao instalar os pré-requisitos solicitando .NET 4.5… que já estava instalado no servidor.

ERRO:

Setup is unable to proceed to the following error(s):

This Product requires Microsoft .Net Framework 4.5

framework

SOLUÇÃO:

Depois de algumas pesquisas vi que a MS já lançou um KB para contornar esse problema, onde você irá baixar uma nova DLL e substituir nos arquivos de instalação.

https://support.microsoft.com/en-us/help/3087184/sharepoint-2013-or-project-server-2013-setup-error-if-the–net-framewo

Links para download da nova DLL do instalador:

Abraço!

Advertisements

Debug adapter process has terminated unexpectedly VS Code

November 15, 2017 Leave a comment

CENÁRIO:

Na vida usando, e usando muito, o Visual Studio Code com projeto .NET Core, fui debugar meu projeto… mas deu erro 😥

Deu erro pra DEBUGAR?! WFT?!

Pra quem quiser começar a experimentar o Visual Studio Code: https://code.visualstudio.com/

Estou bem satisfeito usando no Mac OS. É muito rápido! Sublime virou só bloco de notas mesmo. Rs

ERRO:

Debug adapter process has terminated unexpectedly

SOLUÇÃO:

Fechei e abri o VS Code e reiniciei o Mac (depois de várias semanas, mas é preciso) e nada resolveu.

Pesquisando um pouco, descobri que tem um console do Visual Studio Code que não é o habitual da “IDE”, onde estava procurando por erros:

Picture1

Mas nada de mensagem de erro nesses console.

Então, descobri este outro console “F12” do Visual Studio Code:

Help > Toggle Developer Tools

Picture2

Neste console havia um erro informando que não conseguia achar o “c# extension asset”. Então, pra resolver, desinstalei e instalei novamente o C# Extension do Visual Studio Code.

Picture3

Com isso, ele reinstalou o debugger e tudo voltou a funcionar! J

Abraço!

Devo aplicar Cumulative Updates (CU) assim que são disponibilizados?

February 16, 2016 2 comments

CENÁRIO:

Essa é uma questão que sempre vem à tona e eu sempre perco o link com informações à respeito. Devo manter meu ambiente sempre o mais atualizado possível?

Para quem não está familiarizado, a Microsoft disponibiliza constantemente updates para seus produtos (que ainda estão no ciclo de suporte – normalmente 10 anos desde seu lançamento).

Nesses updates temos hotfixes, Cumulative Updates (pacote com vários hotfixes) e Service Packs (pacote maior ainda de vários hotfixes). A frequência de lançamento também segue essa hierarquia. Ou seja, são lançados vários hotfixes até que formem um Cumulative Update, e assim por diante.

ANÁLISE:

A Microsoft recomenda o seguinte:

https://msdn.microsoft.com/en-us/library/hh479746(v=sql.120).aspx – Installing Updates for SQL Server 2014 after it has already been installed

On an installed instance of SQL Server 2014, we recommend that you apply the latest security updates and critical updates including General Distribution Releases (GDRs), and Service Packs (SPs). Individual Cumulative updates and security updates should be adopted on a case-by-case, "as-needed" basis. Evaluate the update, if it’s needed, then apply it. If not, assess the risk of applying or not.

CONCLUSÃO:

O link mostra informação sobre o SQL Server, mas o mesmo se aplicar ao SharePoint Server e imagino que aos demais produtos Microsoft.

Cumulative Updates devem ser aplicados se necessário. Sua aplicação não deve seguir uma agenda “urgente” de implantação assim que são lançados.

Obviamente que quanto mais atualizado, melhor. Mas no mundo real a aplicação de patch’s não é tão simples em ambiente produtivo.

Como é um assunto que sempre gera bons diálogos. Qual a sua consideração sobre o assunto?

Eu procuro sempre estar no último Service Pack e aplico CU’s à medida da necessidade.

Abraço!

The security validation for this page is invalid and might be corrupted. Please use your web browser’s Back button to try your operation again

October 19, 2015 3 comments

Cenário:

Estou simulando um “stress test” no meu ambiente de desenvolvimento para simular o impacto (hardware) de algumas operações do SharePoint 2013.

No meu teste, além de navegar e buscar alguns itens no site, também quero que o “robô” crie itens nas listas do SharePoint através de requests HTTP.

Ao tentar criar itens usando uma chamada HTTP com as APIs do SharePoint temos o erro mencionado a seguir.

ERRO:

The security validation for this page is invalid and might be corrupted. Please use your web browser’s Back button to try your operation again

Ou, PT-BR:

A validação de segurança para esta página não é valida e pode estar corrompida. Use o botão Voltar do navegador Web para tentar realizar a operação novamente.

SOLUÇÃO:

Como não estou usando OAuth para autorizar a requisição, precisamos passar um “digest value” válido no Header da requisição.

Conseguimos pegar esse valor em um campo (__REQUESTDIGEST) escondido da MasterPage padrão do SharePoint:

 

<input type="hidden" name="__REQUESTDIGEST" id="__REQUESTDIGEST" value="0xC756DFF038FC6A0D241D7203952F8545BC495084B8DCD4EB0171E88F15DD633F8590
ADE4C8749EDCDA73A9C48C8C8C8B515929E86CBBA83341187B3791F20F71,19 Oct 2015 18:14:37 -0000
" />

 

Ou fazendo uma chamada POST com o “body” vazio para http://<site url>/_api/contextinfo antes da chamada que irá criar o item. O retorno dessa chamada conseguimos pegar o “digest value”.

No “Header” dessa chamada com “body” vazio, passe o parâmetro “Accept” com valor “application/json;odata=verbose”.

Exemplo da chamada ao contextinfo:

image

Resposta do contextinfo:

image

{"d":{"GetContextWebInformation":{"__metadata":{"type":"SP.ContextWebInformation"},"FormDigestTimeoutSeconds":1800,"FormDigestValue":
"0xC756DFF038FC6A0D241D7203952F8545BC495084B8DCD4EB0171E88F15DD633F8
590ADE4C8749EDCDA73A9C48C8C8C8B515929E86CBBA83341187B3791F20F71,19 Oct 2015 18:14:37 -0000
"
,"LibraryVersion":"15.0.4569.1000","SiteFullUrl":http://vmsp2013,
"SupportedSchemaVersions":{"__metadata":{"type":"Collection(Edm.String)"},"results":["14.0.0.0","15.0.0.0"]},"WebFullUrl":"http://vmsp2013&quot;}}}

O valor em realce é o valor do parâmetro “X-RequestDigest” que precisamos passar no “Header” da requisição que irá criar itens na lista do SharePoint.

Exemplo da requisição que cria itens em uma lista do SharePont 2013:

POST http://vmsp2013/_vti_bin/client.svc/ProcessQuery

POST data:

<Request xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009&quot; SchemaVersion="15.0.0.0" LibraryVersion="15.0.0.0" ApplicationName="Javascript Library"><Actions>TitleTestefalseIdade22falseContentTypeItemfalseContentTypeId0x01000DC117894911AA4BB7ADE719F7B6C168false</Parameter><Parameter Type="Boolean">false</Parameter><Parameter Type="Null" /></Parameters></Method></ExceptionHandlingScopeSimple></Actions>
<ObjectPaths><StaticProperty Id="0" TypeId="{3747adcd-a3c3-41b9-bfab-4a64dd2f1e0a}" Name="Current" /><Property Id="2" ParentId="0" Name="Web" /><Property Id="4" ParentId="2" Name="Lists" /><Method Id="6" ParentId="4" Name="GetById"><Parameters><Parameter Type="String">84dbf580-a818-4904-a726-25fedc09e490</Parameter></Parameters></Method><Method Id="8" ParentId="6" Name="AddItem"><Parameters><Parameter TypeId="{54cdbee5-0897-44ac-829f-411557fa11be}"><Property Name="FolderUrl" Type="String">/Lists/TesteJMeter</Property><Property Name="LeafName" Type="Null" /><Property Name="UnderlyingObjectType" Type="Number">0</Property></Parameter></Parameters></Method></ObjectPaths>
</Request>

[no cookies]

Request Headers:

Cache-Control: no-cache

X-Requested-With: XMLHttpRequest

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

User-Agent: Mozilla/5.0 (Windows NT 6.3; rv:38.0) Gecko/20100101 Firefox/38.0

Referer: http://vmsp2013/Lists/TesteJMeter/NewForm.aspx?Source=http%3A%2F%2Fvmsp2013%2FLists%2FTesteJMeter%2FAllItems%2Easpx&RootFolder=

X-RequestDigest: 0xC756DFF038FC6A0D241D7203952F8545BC495084B8DCD4EB0171E88F15DD633F8590ADE4
C8749EDCDA73A9C48C8C8C8B515929E86CBBA83341187B3791F20F71,19 Oct 2015 18:14:37 -0000

Connection: keep-alive

Accept-Encoding: gzip, deflate

Pragma: no-cache

Accept-Language: en-US,en;q=0.5

Content-Length: 2508

Content-Type: text/xml; charset=UTF-8

 

Referência: https://msdn.microsoft.com/en-us/library/jj164022(office.15).aspx.

Abraço!

Microsoft Office SharePoint Server (MOSS) 2007 e SQL Server 2012 são compatíveis?

Olá! Alegre

Cenário:

A equipe decidiu atualizar os servidores e migrar alguns servidores para as versões mais atuais. O MOSS 2007 iria continuar na versão 2007, mas em outro servidor. E o SQL 2005 iria para o SQL 2012.

ERRO:

Ao tentar configurar um nova farm no SQL 2012 temos a seguinte mensagem:

“sp_dboption is deprecated and no longer exists in the master database”

SOLUÇÃO:

Na verdade não chega a ser uma solução. O SQL Server 2012 não é suportado como opção para Banco de Dados do Microsoft Office SharePoint Server (MOSS) 2007.

Ou seja, precisamos atualizar também a versão do SharePoint 2007 para, pelo menos, SharePoint 2010 SP1, caso a utilização do SQL Server 2012 seja requisito. Caso contrário, temos que utilizar outra versão de SQL Server, por exemplo SQL Server 2008 R2 (que é a última versão suportada).

 

Referência: https://technet.microsoft.com/en-us/library/cc262485(v=office.12).aspx#section3 – Determine hardware and software requirements (Office SharePoint Server)

 

Important:

Office SharePoint Server 2007 does not support SQL Server 2012 or later versions of SQL Server.

 

Caso queira prosseguir, e mesmo sem suporte, utilizar o SQL Server 2012:

http://blog.sharepointrx.com/2013/12/22/installing-microsoft-office-sharepoint-server-2007-on-sql-server-2012/

Abraço!

SharePoint 2013 Configuration Wizard Missing Components Language Pack Installation

September 8, 2014 Leave a comment

Olá! J

Cenário:

 

Após aplicar o SP1 no SharePoint 2013 e também SP1 dos Language Pack instalados precisamos rodar o Configuration Wizard (PSCONFIG) para que o SharePoint consolide as atualizações realizadas. Mas, como nem tudo é como nós queremos nessa vida, tive alguns problemas para conseguir fazer com que o Configuration Wizard rodasse sem problemas.

 

ERRO:

 

Ao tentar rodar o Configuration Wizard era apresentado uma mensagem de erro informando que estavam faltando arquivos no SharePoint, embora eu já tivesse aplicado todos os pacotes de Language Pack e seus respectivos Service Pack.

 

“Some farm products and patches were not detected… Missing on <ServerName>”


SOLUÇÃO:

 

Procurando por problema similares na web, encontrei que isso poderia ocorrer por razão do serviço de timer parado, mas no meu caso estava rodando. De toda forma, reiniciei o serviço e tentei rodar novamente o Configuration Wizard. Sem sucesso.

 

O que resolveu foi rodar o seguinte cmdlet no powershell do SharePoint (SharePoint 2013 Management Shell) no servidor que ele apontava com “missing” (faltando) componente:

 

Get-SPProduct

 

Pronto! Ao término da execução deste cmdlet, tente rodar novamente o Configuration Wizard. Agora o SharePoint sabe que os componentes estão instalados e não deve reclamar mais a falta destes.

 

Abraço!

Search has encountered a problem that prevents results from being returned. If the issue persists, please contact your administrator

September 8, 2014 Leave a comment

Olá! J

Cenário:

 

Após aplicar o SP1 no SharePoint 2013 e começar a validar os sites e serviços existentes da FARM encontrei um problema ao validar o funcionamento da busca/pesquisa dos sites que usam o serviço de busca do SharePoint.

 

ERRO:

Ao tentar utilizar a busca do site era apresentado o seguinte erro:

 

“Search has encountered a problem that prevents results from being returned. If the issue persists, please contact your administrator”

 

E ao pesquisar nos eventos gerados nos logs do SharePoint (ULS), encontrei o seguinte:

 

“SearchServiceApplicationProxy::Execute–Error occured: System.ServiceModel.FaultException`1[System.ServiceModel.ExceptionDetail]: Tried IMS endpoints for operation Execute: Operation sent to IMS failed:

 

Resource saturation, try again later. (Fault Detail is equal to An ExceptionDetail, likely created by IncludeExceptionDetailInFaults=true, whose value is: Microsoft.SharePoint.SPException:

Tried IMS endpoints for operation Execute: Operation sent to IMS failed: Resource saturation, try again later.”

 

SOLUÇÃO:

 

O erro do ULS cita, talvez, um problema de “recursos disponíveis”… quando fala de “resource saturation”, mas ao checar a condição do servidor vi que só estava consumindo 10% de memória de RAM e o CPU estava uma utilização bem baixa. Então não pode ser falta de recurso.

 

Ao pesquisar um pouco mais, percebi que um dos serviços do SharePoint estava “congelado” no estado “Starting”… Ou seja, não conseguiu subir. Tentei reiniciar o serviço, mas sem sucesso. Continuou no estado “Starting”.

 

Nome do Serviço: Search Host Controller Service


 

Para corrigir, re-provisione o serviço com esse script powershell:

 

$sh = Get-SPServiceInstance | ? {$_.TypeName -eq “Search Host Controller Service”}
$sh.Unprovision()
$sh.Provision($true)

 

Ou este:

 

$SA = Get-SPServiceInstance | Where {$_.Status -like “Provisioning”}

$SA.Unprovision()

$SA.Provision()

 

Depois que executar com sucesso, o resultado esperado será o serviço iniciado corretamente e a busca voltará a funcionar.


Abraço!