Mover bancos de dados de conteúdo ao SharePoint Server
APLICA-SE A:2013 2016 2019 SharePoint no Microsoft 365
Este artigo descreve como mover bancos de dados de conteúdo entre servidores que estão executando o SQL Server, entre instâncias do SQL Server, ou de um aplicativo da web do SharePoint Server para outro.
Importante
[!IMPORTANTE] Este artigo somente descreve como mover bancos de dados de conteúdo. Para obter informações sobre como mover outros tipos de bancos de dados associados ao SharePoint Server, consulte Mover ou renomear bancos de dados de aplicativo de serviço no SharePoint Server e Mover todos os bancos de dados no SharePoint Server.
Você pode mover os bancos de dados usando o site da Administração Central do SharePoint, Microsoft PowerShell e as ferramentas do SQL Server. A ferramenta usada depende do tipo de ambiente implantado, do agendamento exigido pelo backup e dos acordos de nível de serviço feitos com a organização.
Antes de começar
Antes de começar esta operação, mova um banco de dados de conteúdo e revise as tarefas a seguir. Cada tarefa é um procedimento que deve ser feito na ordem listada. Observe que quando você move bancos de dados de conteúdo, deve usar ferramentas do SharePoint Server e do SQL Server. Você pode usar Administração Central ou Windows PowerShell 3.0 para esta operação.
Registre o nome do banco de dados de conteúdo e o aplicativo da web ao qual é associado.
Pause qualquer aplicativo de serviço e os serviços que podem executar contra o banco de dados de conteúdo, incluindo trabalhos de timer e rastreamentos.
Remova o banco de dados de conteúdo do SharePoint Server do aplicativo Web.
Separe o banco de dados de conteúdo da instância atual do SQL Server.
Importante
[!IMPORTANTE] Para mover o arquivo de banco de dados de conteúdo dentro de uma mesma instância do SQL Server, recomendamos usar a cláusula FILENAME da declaração ALTER DATABASE. Para saber mais, veja Mover bancos de dados de usuário.
Importante
Para mover um banco de dados de conteúdo para outra instância do SQL Server ou para outro servidor, recomendamos usar os procedimentos dos artigos Anexar e desanexar bancos de dados (SQL Server) ou Fazer backup e restaurar bancos de dados do SQL Server.
Copie ou mova os arquivos .mdf, .ndf e de .ldf do banco de dados de conteúdo do local de fonte para o de destino usando o Explorador de Arquivos.
Anexe o banco de dados de conteúdo à nova instância do SQL Server.
Adicione o banco de dados de conteúdo ao aplicativo da web de destino no SharePoint Server.
Importante
Use o nome idêntico quando você adicionar o banco de dados de conteúdo, ou o SharePoint Server cria um novo banco.
Reinicie todos os aplicativos de serviço e serviços que você interrompeu na etapa 2.
Movendo bancos de dados de conteúdo usando a Administração Central
Use o procedimento a seguir para mover os bancos de dados de conteúdo em seu farm do SharePoint Server usando o Administração Central.
Os procedimentos desta seção usam o Administração Central para mover bancos de dados de conteúdo. No entanto, quando você executa os procedimentos a seguir, deve usar a ferramenta correta:
Para registar as bases de dados de conteúdo associadas a cada aplicação Web – PowerShell
Para desanexar as bases de dados de conteúdos do SQL Server – ferramentas do SQL Server
Para mover as bases de dados de conteúdos para uma nova localização – Explorador de Ficheiros ou Explorador do Windows
Para anexar as bases de dados de conteúdos à nova instância do SQL Server – ferramentas do SQL Server
Observação
[!OBSERVAçãO] Os procedimentos desta seção usam o Administração Central para mover bancos de dados de conteúdo. No entanto, o primeiro procedimento deve ser executado usando o PowerShell.
[!OBSERVAçãO] Se você estiver movendo um banco de dados de conteúdo para um farm diferente, torne a conta de farm do servidor um membro do grupo Administradores no servidor do banco de dados, durante o processo de restauração. Isso permite que a conta reproduza a configuração de segurança para os bancos de dados. Esse nível de acesso pode ser removido depois que o banco de dados de conteúdo é movido. Para obter mais informações, consulte Permissões de conta e configurações de segurança no SharePoint Server 2016.
O farm de destino deve estar executando a mesma versão ou uma versão superior do SharePoint Server que a do farm de fonte.
1. Para registrar quais bancos de dados de conteúdo estão associados a cada aplicativo da web
Verifique se você possui as seguintes associações:
A função de servidor fixa securityadmin na instância do SQL Server.
A função de banco de dados fixa db_owner em todos os bancos de dados que devem ser atualizados.
O grupo de administradores no servidor no qual você está executando os cmdlets do PowerShell.
As funções de servidor fixas dbcreator e securityadmin no servidor de destino para anexar o banco de dados e configurar logins do SQL Server.
Um administrador pode usar o cmdlet Add-SPShellAdmin para conceder permissões para usar cmdlets SharePoint Server.
Observação
[!OBSERVAçãO] Se você não possui permissões, entre em contato com o Administrador da instalação ou com o administrador do SQL Server para solicitar permissões. Para mais informações sobre as permissões do PowerShell, consulte Add-SPShellAdmin.
Inicie o Shell de Gerenciamento do SharePoint.
No prompt de comando do PowerShell, digite o seguinte comando:
Get-SPContentDatabase -WebApplication <http://SiteName>
Em que: <http://SiteName> é o URL da aplicação Web.
Observação
Recomendamos que você use o Windows PowerShell ao executar tarefas administrativas de linha de comando. A ferramenta de linha de comando Stsadm está obsoleta, mas está incluída para oferecer suporte à compatibilidade com versões anteriores do produto.
2. Para pausar trabalhos do temporizador usando a Administração Central
Verifique se a conta de usuário que está executando esse procedimento é membro do grupo Administradores de Farm do SharePoint.
No Administração Central, na seção Monitoramento, clique em Verificar Status do Trabalho.
Para cada trabalho agendado executado contra o banco de dados que você está movendo, clique no trabalho para abrir a página Editar Trabalho de Timer, clique em Desativar e em OK.
3. Para separar os bancos de dados de conteúdo de um aplicativo da web usando o Administração Central
Verifique se a conta de usuário que está executando esse procedimento é membro do grupo Administradores de Farm do SharePoint.
No Administração Central, na seção Gerenciamento de aplicativo, clique em Gerenciar bancos de dados de conteúdo.
Na página Gerenciar Bancos de Dados de Conteúdo, clique no banco de dados de conteúdo que você deseja mover.
A página Gerenciar Configurações do Bancos de Dados de Conteúdo é aberta.
Observação
[!OBSERVAçãO] Se o banco não aparecer na lista, pode estar associado a outro aplicativo da web. Para selecionar outro aplicativo da web, no menu Aplicativo da Web, clique em Alterar Aplicativo da Web.
Na página Gerenciar Configurações do Bancos de Dados de Conteúdo, na seção Remover Banco de Dados de Conteúdo, marque a caixa de seleção Remover banco de dados de conteúdo e clique em OK
Observação
Remover o banco de dados de conteúdo não o exclui. Remove apenas a associação da base de dados com a aplicação Web.
Repita as etapas 3 e 4 para cada banco de dados de conteúdo que você deseja mover.
4. Para separar os bancos de dados de conteúdo do SQL Server
Verifique se a conta de usuário que está executando este procedimento é membro da função fixa de banco de dados db_owner no servidor em que cada banco de dados está armazenado.
No SQL Server Management Studio, abra a instância de fonte do SQL Server e expanda o nó Banco de Dados.
Clique com o botão direito no banco de dados de conteúdo, aponte para Tarefas e clique em Separar. Repita essa etapa para cada banco de dados que deseja renomear.
Observação
[!OBSERVAçãO] Use esse procedimento para mover somente bancos de dados de conteúdo. Não separe qualquer outro tipo de bancos de dados.
5. Para mover os bancos de dados de conteúdo para um local novo
Verifique se a conta de usuário que está executando esse procedimento tem acesso de Gravação para as pastas de fonte e destino.
Com o Explorador de Arquivos, localize os arquivos .mdf, .ldf e .ndf dos bancos de dados de conteúdo.
Selecione os arquivos .mdf, .ldf e .ndf do banco de dados que você deseja mover e copie-os ou mova para o diretório de destino.
6. Para anexar os bancos de dados de conteúdo à nova instância do SQL Server
Verifique se a conta de usuário que está executando este procedimento é membro da função fixa dbcreator no servidor em que cada banco de dados está armazenado.
No Management Studio, abra a instância de destino do SQL Server.
Clique com o botão direito no nó Bancos de dados, aponte para Tarefas e clique em Anexar.
Na caixa de diálogo Anexar Base de Dados , navegue para onde transferiu os ficheiros .mdf, .ldf e .ndf, selecione o ficheiro .mdf da base de dados que pretende anexar e, em seguida, clique em OK.
Repita para cada banco de dados de conteúdo que você irá mover.
7. Para anexar os bancos de dados de conteúdo a um aplicativo da web usando o Administração Central
Verifique se a conta do usuário que está executando esse procedimento é membro do grupo Administradores de Farm.
No Administração Central, na seção Gerenciamento de aplicativo, clique em Gerenciar bancos de dados de conteúdo.
Na página Gerenciar Bancos de Dados de Conteúdo, clique em Adicionar um banco de dados de conteúdo
Na página Adicionar Banco de Dados de Conteúdo, verifique se o menu Aplicativo da Web exibe o aplicativo correto.
Na caixa Servidor, especifique o servidor que hospeda o banco de dados.
Na caixa Nome do Banco de Dados, digite o nome exato do banco de dados de conteúdo transferido.
Observação
[!OBSERVAçãO] Verifique se o nome está correto. Se não, um novo banco de dados será criado.
Especifique o método de autenticação para o banco de dados e clique em OK.
Repita essas etapas para cada banco de dados adicionado. Selecione o aplicativo da web correto no menu Aplicativo da Web para cada banco de dados.
8. Para reiniciar trabalhos do temporizador usando a Administração Central
Verifique se a conta do usuário que está executando esse procedimento é membro do grupo Administradores de Farm.
No Administração Central, na seção Monitoramento, clique em Verificar Status do Trabalho.
Para cada trabalho agendado que você desativou previamente, clique no trabalho para abrir a página Editar Trabalho de Timer, clique em Ativar e em OK.
Movendo bancos de dados de conteúdo usando o PowerShell
Use o procedimento a seguir para mover os bancos de dados de conteúdo em seu farm do SharePoint Server usando o PowerShell
Os procedimentos desta seção usam o PowerShell para mover bancos de dados de conteúdo. No entanto, quando você executa os procedimentos a seguir, deve usar a ferramenta correta:
Para desanexar as bases de dados de conteúdos do SQL Server – ferramentas do SQL Server
Para mover as bases de dados de conteúdos para uma nova localização – Explorador de Ficheiros
Para anexar as bases de dados de conteúdos à nova instância do SQL Server – ferramentas do SQL Server
Observação
[!OBSERVAçãO] Se você estiver movendo um banco de dados de conteúdo para um farm diferente, torne a conta de farm do servidor um membro do grupo Administradores no servidor do banco de dados, durante o processo de restauração. Isso permite que a conta reproduza a configuração de segurança para os bancos de dados. Esse nível de acesso pode ser removido depois que o banco de dados de conteúdo é movido.
O farm de destino deve estar executando a mesma versão ou uma versão superior do SharePoint Server que a do farm de fonte.
1. Para registrar quais bancos de dados de conteúdo estão associados a cada aplicativo da web
Verifique se você possui as seguintes associações:
A função de servidor fixa securityadmin na instância do SQL Server.
A função de banco de dados fixa db_owner em todos os bancos de dados que devem ser atualizados.
O grupo de administradores no servidor no qual você está executando os cmdlets do PowerShell.
As funções de servidor fixas dbcreator e securityadmin no servidor de destino para anexar o banco de dados e configurar logins do SQL Server.
Um administrador pode usar o cmdlet Add-SPShellAdmin para conceder permissões para usar cmdlets SharePoint Server.
Observação
[!OBSERVAçãO] Se você não possui permissões, entre em contato com o Administrador da instalação ou com o administrador do SQL Server para solicitar permissões. Para mais informações sobre as permissões do PowerShell, consulte Add-SPShellAdmin.
Inicie o Shell de Gerenciamento do SharePoint.
No prompt de comando do PowerShell, digite o seguinte comando:
Get-SPContentDatabase -WebApplication <http://SiteName>
Em que: <http://SiteName> é o URL da aplicação Web.
Para obter mais informações, consulte Get-SPContentDatabase.
Observação
Recomendamos que você use o Windows PowerShell ao executar tarefas administrativas de linha de comando. A ferramenta de linha de comando Stsadm está obsoleta, mas está incluída para oferecer suporte à compatibilidade com versões anteriores do produto.
2. Para pausar trabalhos do temporizador usando o PowerShell
Verifique se você possui as seguintes associações:
A função de servidor fixa securityadmin na instância do SQL Server.
A função de banco de dados fixa db_owner em todos os bancos de dados que devem ser atualizados.
O grupo de administradores no servidor no qual você está executando os cmdlets do PowerShell.
As funções de servidor fixas dbcreator e securityadmin no servidor de destino para anexar o banco de dados e configurar logins do SQL Server.
Um administrador pode usar o cmdlet Add-SPShellAdmin para conceder permissões para usar cmdlets SharePoint Server.
Observação
[!OBSERVAçãO] Se você não possui permissões, entre em contato com o Administrador da instalação ou com o administrador do SQL Server para solicitar permissões. Para mais informações sobre as permissões do PowerShell, consulte Add-SPShellAdmin.
Inicie o Shell de Gerenciamento do SharePoint.
No prompt de comando do PowerShell, digite o seguinte comando:
Get-SPTimerJob -webapplication <http://WebApplicationURL> | select name | Out-File <c:\timerjobfile.txt> -Append -Encoding ascii ForEach($tmrjob in (Get-Content <c:\timerjobfile.txt>)) { Get-SPTimerJob -Identity $tmrjob | Disable-SPTimerjob }
Onde:
<http://WebApplicationURL> é o aplicativo da web associado ao banco de dados de conteúdo que você está movendo.
<c:\timerjobfile.txt> é o local do arquivo que você está criando, que lista todos os trabalhos de timer associados ao aplicativo da web.
Para saber mais, veja Get-SPTimerJob, Out-File, ForEach-Object, Get-Content e Disable-SPTimerJob.
Observação
Recomendamos que você use o Windows PowerShell ao executar tarefas administrativas de linha de comando. A ferramenta de linha de comando Stsadm está obsoleta, mas está incluída para oferecer suporte à compatibilidade com versões anteriores do produto.
3. Para separar os bancos de dados de conteúdo de um aplicativo Web usando o PowerShell
Verifique se você possui as seguintes associações:
A função de servidor fixa securityadmin na instância do SQL Server.
A função de banco de dados fixa db_owner em todos os bancos de dados que devem ser atualizados.
O grupo de administradores no servidor no qual você está executando os cmdlets do PowerShell.
As funções de servidor fixas dbcreator e securityadmin no servidor de destino para anexar o banco de dados e configurar logins do SQL Server.
Um administrador pode usar o cmdlet Add-SPShellAdmin para conceder permissões para usar cmdlets SharePoint Server.
Observação
[!OBSERVAçãO] Se você não possui permissões, entre em contato com o Administrador da instalação ou com o administrador do SQL Server para solicitar permissões. Para mais informações sobre as permissões do PowerShell, consulte Add-SPShellAdmin.
Inicie o Shell de Gerenciamento do SharePoint.
No prompt de comando do PowerShell, digite o seguinte comando:
Dismount-SPContentDatabase "<ContentDB>"
Onde: <ContentDB> é o nome da base de dados de conteúdos.
Observação
[!OBSERVAçãO] Se você tiver vários bancos de dados de conteúdo com o mesmo nome, use o GUID do banco neste comando em vez do nome. Para recuperar o GUID do banco de dados de conteúdo, execute o cmdlet Get-SPContentDatabase sem argumentos.
Para mais informações, confira Dismount-SPContentDatabase e Mount-SPContentDatabase.
Observação
Recomendamos que você use o Windows PowerShell ao executar tarefas administrativas de linha de comando. A ferramenta de linha de comando Stsadm está obsoleta, mas está incluída para oferecer suporte à compatibilidade com versões anteriores do produto.
4. Para separar os bancos de dados de conteúdo do SQL Server
Verifique se a conta de usuário que está executando este procedimento é membro da função fixa de banco de dados db_owner no servidor em que cada banco de dados está armazenado.
No Management Studio, abra a instância de fonte do SQL Server e expanda o nó Banco de Dados.
Clique com o botão direito no banco de dados de conteúdo, aponte para Tarefas e clique em Separar. Repita essa etapa para cada banco de dados que deseja renomear.
Observação
[!OBSERVAçãO] Use esse procedimento para mover somente bancos de dados de conteúdo. Não separe qualquer outro tipo de bancos de dados.
5. Para mover os bancos de dados de conteúdo para um local novo
Verifique se a conta de usuário que está executando esse procedimento tem acesso de Gravação para as pastas de fonte e destino.
Com o Explorador de Arquivos, localize os arquivos .mdf, .ldf e .ndf dos bancos de dados de conteúdo.
Selecione os arquivos .mdf, .ldf e .ndf do banco de dados que você deseja mover e copie-os ou mova para o diretório de destino.
6. Para anexar os bancos de dados de conteúdo à nova instância do SQL Server
Verifique se a conta de usuário que está executando este procedimento é membro da função fixa dbcreator no servidor em que cada banco de dados está armazenado.
No Management Studio, abra a instância de destino do SQL Server.
Clique com o botão direito no nó Bancos de dados, aponte para Tarefas e clique em Anexar.
Na caixa de diálogo Anexar Base de Dados , navegue para onde transferiu os ficheiros .mdf, .ldf e .ndf, selecione o ficheiro .mdf da base de dados que pretende anexar e, em seguida, clique em OK.
Repita para cada banco de dados de conteúdo que você irá mover.
7. Para anexar os bancos de dados de conteúdo de um aplicativo da web usando o PowerShell
Verifique se você possui as seguintes associações:
A função de servidor fixa securityadmin na instância do SQL Server.
A função de banco de dados fixa db_owner em todos os bancos de dados que devem ser atualizados.
O grupo de administradores no servidor no qual você está executando os cmdlets do PowerShell.
As funções de servidor fixas dbcreator e securityadmin no servidor de destino para anexar o banco de dados e configurar logins do SQL Server.
Um administrador pode usar o cmdlet Add-SPShellAdmin para conceder permissões para usar cmdlets SharePoint Server.
Observação
[!OBSERVAçãO] Se você não possui permissões, entre em contato com o Administrador da instalação ou com o administrador do SQL Server para solicitar permissões. Para mais informações sobre as permissões do PowerShell, consulte Add-SPShellAdmin.
Inicie o Shell de Gerenciamento do SharePoint.
No prompt de comando do PowerShell, digite o seguinte comando:
Mount-SPContentDatabase "<ContentDB>" -DatabaseServer "<DBServer>" -WebApplication <http://SiteName>
Em que:
<ContentDB> é o nome do banco de dados de conteúdo que será anexado.
<DBServer> é o nome do servidor do banco de dados.
<http://SiteName> é a URL do aplicativo da web ao qual o banco de dados de conteúdo está sendo anexado.
Para obter mais informações, consulte Mount-SPContentDatabase.
Observação
Recomendamos que você use o Windows PowerShell ao executar tarefas administrativas de linha de comando. A ferramenta de linha de comando Stsadm está obsoleta, mas está incluída para oferecer suporte à compatibilidade com versões anteriores do produto.
8. Para reiniciar trabalhos do temporizador usando o PowerShell
Verifique se você possui as seguintes associações:
A função de servidor fixa securityadmin na instância do SQL Server.
A função de banco de dados fixa db_owner em todos os bancos de dados que devem ser atualizados.
O grupo de administradores no servidor no qual você está executando os cmdlets do PowerShell.
As funções de servidor fixas dbcreator e securityadmin no servidor de destino para anexar o banco de dados e configurar logins do SQL Server.
Um administrador pode usar o cmdlet Add-SPShellAdmin para conceder permissões para usar cmdlets SharePoint Server.
Observação
[!OBSERVAçãO] Se você não possui permissões, entre em contato com o Administrador da instalação ou com o administrador do SQL Server para solicitar permissões. Para mais informações sobre as permissões do PowerShell, consulte Add-SPShellAdmin.
Inicie o Shell de Gerenciamento do SharePoint.
No prompt de comando do PowerShell, digite o seguinte comando:
ForEach($tmrjob in (Get-Content <c:\timerjobfile.txt>)) {Get-SPTimerJob -Identity $tmrjob | Enable-SPTimerjob}
Em que: <c:\timerjobfile.txt> é a localização do ficheiro que criou que lista todas as tarefas de temporizador associadas à aplicação Web.
Para saber mais, veja Get-SPTimerJob, ForEach-Object, Get-Content e Enable-SPTimerJob.
Observação
Recomendamos que você use o Windows PowerShell ao executar tarefas administrativas de linha de comando. A ferramenta de linha de comando Stsadm está obsoleta, mas está incluída para oferecer suporte à compatibilidade com versões anteriores do produto.