Resolvendo Erro “Please create a master key in the database or open a master key in the session before performing this operation”

Esse erro peguei na migração que realizei do SharePoint 2013, migração entre servidores, e algumas WebApp estavam configurado o RBS, esse erro ocorreu quando fui configurar e instalar o RBS na nova farm.

Para reseolver é só executar o script abaixo no Content que o RBS esta configurado.

OPEN MASTER KEY DECRYPTION BY PASSWORD = N’Admin Key Password !2#4′
ALTER MASTER KEY ADD ENCRYPTION BY SERVICE MASTER KEY

Depois de rodar o script consegui instalar com sucesso.

Microsoft SQL Server 2014 Remote BLOB Store — Installation completed successfully.

Créditos  -> Karthick P.K on SQL Server

Em dúvida como configurar o RBS no SharePoint acesse o link abaixo:

Configurando RBS em uma Farm SharePoint 2013

Migrando SharePoint 2013 entre Farms + RBS – Part 2

Dando continuidade a nossa migração, se começou agora volte para a Parte 1.

Depois de realizado o bkp, mova o mesmo para o novo servidor de dados, pois nele iremos realizar o restore do arquivo.bak.

Antes de começarmos a realizar o restore, podemos iniciar a criação de uma nova aplicação onde iremos dar um attach nossa base de dados. Acho que todos saber criar uma nova WebApp, caso não, segue um link em português que explicar tudo a respeito     ->  Criar nova aplicação.

Com sua aplicação criada vamos restaurar a base de dados, é bem simples.

screenshot.536

Selecione o diretório da arquivo .bak e clica em OK.

screenshot.537.png

Legal a sua base foi restaurada idêntica ao que esta no outro servidor, até os administradores do site collection são os mesmo, caso essa migração seja de ADs distintos, basta mudar esse usuário.

Agora vamos executar apenas dois scripts um que desanexa a base e outra que anexa a nova base, vamos lá.

Executar via PowerShell ISE e execute os comandos a seguir para desanexar a base atual da aplicação e anexar a nova base a aplicação.

Add-PsSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue

#Desanexar Database

$CurrentDatabase = "WSS_Content_Desatachar"
Dismount-SPContentDatabase -Identity $CurrentDatabase -confirm:$false

#Anexar Database

$SiteUrl = "http://gsd:2030/"
$NewDatabase = "WSS_Content_Anexar"
$DatabaseServer = "Instance SQL"
Mount-SPContentDatabase -name $NewDatabase -DatabaseServer $DatabaseServer -WebApplication $SiteUrl -confirm:$false

 

Realizado esse processo execute o IISRESET em todos os servidores da Farm, exceto o de banco de dados.

Pronto migração realizada!!!!

A terceira parte é configurar o RBS  -> Parte 3 -> Configurando RBS em uma Farm SharePoint 2013

Migrando SharePoint 2013 entre Farms + RBS – Part 1

        Neste mês minha a Cia que trabalho rompeu contrato com um fornecedor Americano, porque eles prestavam um serviço péssimo e outro fato é o dólar esta nas alturas, hoje a cotação esta R$ 4,16, mas não iremos falar dessa variação e sim, de como migrar, o SharePoint entre servidores.

            Antes de mais nada tenha a nova farm criada, se atente que as farms tem que ter as mesma versão.

Verificar Versão

Como você pode verificar isso CA -> System Settings -> Manage servers in this farm.

screenshot.532

           Caso não seja a mesma versão terá que ser instalado o service pack de acordo com a farm de origem. As é só instalar um CU (Cumulative Update), essa é parte mais simples, mas já adianto seguindo o passo a passo essa migração é bem tranquila, não como alguns pensam, nossa migrar SharePoint é um parto, siga os passos te garanto sucesso.

           Eu adotei duas estratégia para essa migração, vou descrever a mais fácil, e a gente consegue fazer no quente (onfire) sem ter que parar a farm, a segunda foi usada como contingência caso essa primeira falhasse, caso tenha interesse em saber só me pedir por e-mail que compartilho.

BKP Content Database

          Estando as farms equalizadas, vamos primeiramente baixar o RBS na versão correta do seu SQL Server, faça o download o RBS e deixe ele em stand by, vamos usa ele logo em seguida, no seu servidor de banco de dados vamos realizar um back up das aplicações que pretende migrar, vamos lá, serão os contents database das aplicações, definido quais aplicações irá  migrar , é só ir na base e realizar um BKP na extensão .bak.

screenshot.533

 

screenshot.534

Galera decidi parar por aqui, vou criar uma parte 2, senão fica muito longo e cansativo.

Parte 2

Configurando RBS em uma Farm SharePoint 2013

Fala galera,

Hoje farei o passo a passo  para quem precisa configurar RBS em uma Farm  sem dar nenhum um erro.

Vamos começar!

Primeiramente você vai preparar o SQL para que ele use a função FILESTREAM.

  1. Entre no seu servidor de banco de dados e abra o SQL Server Configuration Manager.
  2. Selecione SQL Services e clica no botão direito em cima da instancia  SQL Server e vá em propriedades.
  3. Na janela de propriedades vá na aba FILESTREAM e selecione todos check boxes.filestreamblog
  4. Clique em apply e Ok.
  5. Feche o  SQL Server Configuration Manager.

Show agora o FILESTREAM  esta disponível na instancia do SQL.

Agora vamos abrir o SQL Management Studio e logar na instancia onde esteja seu content do SharePoint.

  1. Clique com direito em cima do content da sua aplicação e em segui New Query.
  2. Copie e cole a seguinte query:
    EXEC sp_configure filestream_access_level, 2 RECONFIGURE
  3. Feito.

Provisionar o BLOB Store.

Eu usei a mesma janela que abri na ação acima

use WSS_Content_GSD_Blog if not exists (select * from sys.symmetric_keys where name = N'##MS_DatabaseMasterKey##')create master key encryption by password = N'Admin Key Password !2#4'
use WSS_Content_GSD_Blog if not exists (select groupname from sysfilegroups where groupname=N'RBSFilestreamProvider')alter database WSS_Content_GSD_Blog add filegroup RBSFilestreamProvider contains filestream
use WSS_Content_GSD_Blog alter database WSS_Content_GSD_Blog add file (name = RBSFilestreamFile, filename = 'C:\GSD_Blog') to filegroup RBSFilestreamProvider
  • Abra o diretório que definiu na sua query e veja se o diretório foi criado.

Instalando o RBS Provider

  1. Para começar vamos fazer download do RBS, clique no link a seguir RBS.msi .
  2. Execute o cmd como Administrador, essa ação você deve realizar em todos servidores da Farm.
  3. No Servidor de Aplicação copie e cole no CDM o comando a seguir:
    msiexec /qn /lvx* rbs_install_GSD_log.txt /i RBS.msi TRUSTSERVERCERTIFICATE=true FILEGROUP=PRIMARY DBNAME="WSS_Content_GSD_Blog" DBINSTANCE="MSSQLSERVER" FILESTREAMFILEGROUP=RBSFilestreamProvider FILESTREAMSTORENAME=FilestreamProvider_1
  4. Vamos instalar o RBS agora nos Front End o comando é um pouco diferente mas o processo é o mesmo.
    msiexec /qn /lvx* rbs_install_GSD_log.txt /i RBS.msi FILEGROUP=PRIMARY DBNAME="WSS_Content_GSD_Blog" DBINSTANCE="MSSQLSERVER" ADDLOCAL="EnableRBS,FilestreamRunScript"
  5. Você pode acompanhar se a instalação ocorreu perfeitamente olhando o log que é gerado.

Para finalizar.

Habiltar o RBS (Remote BLOB Storage) no Content Database

  1. Abra o SharePoint 2013 Management Shell como Administrador e execute o comando a seguir:
    $cdb = Get-SPContentDatabase –WebApplication http://wvgsd:2030 $rbss = $cdb.RemoteBlobStorageSettings $rbss.Installed() $rbss.Enable() $rbss.SetActiveProviderName($rbss.GetProviderNames()[0]) $rbss

O resultado deve ser o seguinte:

result

RBS configurado e funcionando!!!!

Caso o Enable retorne false revise todos os passos.

Boa sorte!