Configurar o RBS no Sql Server 2008 e consertando problemas de usuário

 

Se você chegou até aqui, é porque sabe os benefícios do RBS no SharePoint. Se ainda não conhece, sugiro a seguinte leitura:

http://technet.microsoft.com/pt-br/magazine/ff847521.aspx

Caso contrário, siga o passo a passo abaixo:

OBSERVAÇÃO:  Fiz os testes abaixo em uma Vm de laboratório. Antes de aplicar em produção, recomendo executar em um ambiente de testes

Download Requerido: http://go.microsoft.com/fwlink/?LinkID=188395&clcid=0x409
Copiei o arquivo para cada Web Front End.

01- Acesse o Configuration Manager do Sql Server. Clique em Sql Server Services, selecione a instancia do seu banco do SharePoint e com o botão direito selecione Propriedades . Check todos os Checkboxes disponíveis

image

02 – Abra agora o Management Studio  e em uma nova janela de Query editor, digite o seguinte comando e execute (F5).

EXEC sp_configure filestream_access_level, 2
RECONFIGURE

 

CONFIGURAR O CONTENT DB PARA USAR O FILESTREAM

03 – O diretório chamado C:\BLOB será criado automaticamente com o Script abaixo.

WSS_Content: Nome do banco de conteúdos que estou utilizando

use [WSS_Content]
if not exists (select * from sys.symmetric_keys where name = N’##MS_DatabaseMasterKey##’) create master key encryption by password = N’Admin Key Password p@ssw0rd’
GO

if not exists (select groupname from sysfilegroups where groupname=N’RBSFilestreamProvider’)alter database [WSS_Content]  add filegroup RBSFilestreamProvider contains filestream
GO

alter database [WSS_Content] add file (name = RBSFilestreamFile, filename = ‘c:\BLOB’) to filegroup RBSFilestreamProvider

 

INSTALANDO O PROVIDER RBS NO SERVIDOR (Web Front Ends)

04 – Abra o Prompt de Comando em modo Administrador.Acesse o diretório no servidor onde você salvou o RBS.msi.

Utilize o seguinte comando

msiexec /qn /lvx* rbs_install_log.txt /i RBS.msi TRUSTSERVERCERTIFICATE=true FILEGROUP=PRIMARY DBNAME="WSS_Content" DBINSTANCE="server\sharepointdb" FILESTREAMFILEGROUP=RBSFilestreamProvider FILESTREAMSTORENAME=FilestreamProvider_1

DBNAME: Nome do seu banco de conteúdos do SharePoint
DBINSTANCE: Nome da instancia do seu servidor

Vai parecer que deu erro, pois você verá que não acontece nada na tela. Tudo está salvo no log rbs_install_log.txt .

Abra e verifique, antes do final do log, a mensagem:

MSI (s) (50:E0) [07:24:47:845]: Product: SQL Server 2008 R2 Remote Blob Store — Installation completed successfully.

OPCIONAL: CASO POSSUA OUTROS Web Fron Ends (Não foi meu caso, então não testei)

01 – Acesse o diretório para onde foi copiado o arquivo RBS.msi (Prompt em modo administrador)

Utilize o seguinte comando

msiexec /qn /lvx* rbs_install_log.txt /i RBS.msi DBNAME="WSS_Content" DBINSTANCE="server\sharepointdb" ADDLOCAL="Client,Docs,Maintainer, ,FilestreamClient,FilestreamServer"

Procure no log a mensagem:

"Product: SQL Remote Blob Storage — Configuration completed successfully"

FINAL: Avisar o SharePoint que o DataBase possui RBS

05 – Abre o SharePoint 2010 Management Shell

06 – Use o PowerShell Script abaixo: Digite linha a linha:

$cdb = Get-SPContentDatabase WSS_Content
$rbss = $cdb.RemoteBlobStorageSettings
$rbss.Installed()
$rbss.Enable()
$rbss.SetActiveProviderName($rbss.GetProviderNames()[0])
$rbss

 

TESTE: Envie um arquivo maior que 100kb para uma biblioteca de documentos

07 – Acesse uma biblioteca de documentos de um Site Collection que esteja naquele banco de conteúdos. No meu caso, o banco é o WSS_CONTENT

08 – Envie um arquivo. O arquivo que tenho é um .docx que possui .555kb. Vamos ver se isso funciona mesmo.

Meu WSS_Content possui esse tamanho atualmente.

image

E esse é o diretório do BLOB:

image

 

09 – Enviei três arquivo .pptx para uma biblioteca. Cada um com 541Kb de tamanho,. Vamos ver o que aconteceu:

image

O banco ficou igual, por que? Por que eu não preenchi nenhum metadado aos arquivos.

Em compensação, entrando o terceiro diretório acima eu econtrei isso:

image

E ai está a instalação funcionando:

Baseado no artigo http://blogs.msdn.com/b/tejasr/archive/2011/04/01/experience-of-configuring-remote-blob-storage-rbs-with-sharepoint-2010.aspx

BÔNUS: Consertar o RBS quando alguem apaga um diretório da estrutura criada

Isso aconteceu durante a elaboração deste artigo. Fui querer fuçar o diretório c:\BLOG e achei que uma pasta era lixo. Resolvi apagar. Quando tentei enviar mais um arquivo,acima de 100Kb para QUALQUER BIBLIOTECA, me deparei com o erro:

 

A URL ‘RBS/arquivoTESTE.pptx’ é inválida. Talvez faça referência a um arquivo ou pasta inexistente, ou faça referência a um arquivo ou pasta válida que não se encontra na Web atual

Pronto. Zuei minha VM. Como vou lembrar da pasta com nome em GUID que acabei de excluir.

Fuçando o LOG, achei os detalhes:

 

05/11/2011 08:37:00.64     w3wp.exe (0x0FAC)                           0x0B48    SharePoint Foundation             General                           9j7o    Medium      Exception thrown storing stream in new SqlRemoteBlob: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. —> Microsoft.Data.SqlRemoteBlobs.BlobStoreException: There was a generic database error. For more information, see the included exception. —> System.Data.SqlClient.SqlException: RBS Error. Original Error: Number 3634, Severity 16, State 1, Procedure -, Line 1, Message: The operating system returned the error ‘0xc000003a(failed to retrieve text for this error. Reason: 15105)’ while attempting ‘NtCreateFile’ on ‘c:\BLOB\f79aba43-ced3-4b57-ac64-a5435ec26a21\7872ff0b-9684-4e44-9bd6-6c97d0288cb4\0000064e-00000142-0002′.  Transaction count after EXECUTE indicates a mismatching number of BEGIN and COMMIT statements. Previous count = 1, cu…    1c692147-5974-4797-84a3-81c2d2d707d1

 

OPA! Achei o que apaguei. Criei novamente está estrutura e o erro sumiu.

Sobre matchboxt
Owner MatchBox

One Response to Configurar o RBS no Sql Server 2008 e consertando problemas de usuário

  1. Pingback: Desabilitar o RBS em um Content DB « Matchbox's Blog

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: