Spostare database del contenuto (SharePoint Server 2010)

 

Si applica a: SharePoint Foundation 2010, SharePoint Server 2010

Ultima modifica dell'argomento: 2016-11-30

In questo articolo viene illustrato come spostare database del contenuto tra server che eseguono Microsoft SQL Server, tra istanze di SQL Server oppure da un'applicazione Web di Microsoft SharePoint Server 2010 all'altra. È possibile spostare un database del contenuto per bilanciare il carico di un server di database o di un'applicazione Web.

Importante

In questo articolo viene descritto solo come spostare database del contenuto. Per informazioni su come spostare altri tipi di database associati a SharePoint Server 2010, vedere Rinominare o spostare database delle applicazioni di servizio (SharePoint Server 2010) e Spostare tutti i database (SharePoint Server 2010).

Panoramica dello spostamento di database del contenuto

Quando si decide di spostare database del contenuto, è necessario avvalersi sia degli strumenti di SharePoint Server 2010 che degli strumenti di SQL Server. È possibile utilizzare il sito Web Amministrazione centrale SharePoint Server oppure Windows PowerShell 2,0. Di seguito vengono riassunte le operazioni della procedura di spostamento dei database del contenuto:

  1. Registrare il nome del database del contenuto e l'applicazione Web a cui è associato. Per informazioni dettagliate, vedere Per registrare i database del contenuto associati alle singole applicazioni Web.

  2. Sospendere eventuali applicazioni di servizio e servizi di cui si potrebbe tentare l'esecuzione sul database, inclusi i processi timer e le ricerche per indicizzazione. Per informazioni dettagliate, vedere Per sospendere i processi timer tramite Windows PowerShell (opzione 1) oppure Per sospendere i processi timer tramite Amministrazione centrale (opzione 2).

  3. In SharePoint Server rimuovere il database del contenuto dall'applicazione Web. Tale operazione può essere eseguita tramite Amministrazione centrale o Windows PowerShell 2,0. In generale, se si sta semplicemente utilizzando più di un database, può essere più rapido scrivere uno script di Windows PowerShell 2,0. Per informazioni dettagliate, vedere Per scollegare i database del contenuto da un'applicazione Web tramite Amministrazione centrale (opzione 1) oppure Per scollegare i database del contenuto da un'applicazione Web tramite Windows PowerShell (opzione 2).

  4. In SQL Server scollegare i database dall'istanza corrente. Per informazioni dettagliate, vedere Per scollegare i database del contenuto da SQL Server.

  5. Utilizzando Esplora risorse copiare o spostare dal percorso di origine al percorso di destinazione i file con estensione mdf, ndf e ldf associati al database. Per informazioni dettagliate, vedere Per spostare i database del contenuto in un nuovo percorso.

    Nota

    È inoltre possibile eseguire il backup e il ripristino dei database per spostarli, ma tali operazioni non vengono illustrate in questo articolo. Per informazioni, vedere Backup e ripristino (SharePoint Server 2010).

  6. In SQL Server collegare il database alla nuova istanza. Per informazioni dettagliate, vedere Per collegare i database del contenuto alla nuova istanza di SQL Server.

  7. In SharePoint Server aggiungere il database del contenuto all'applicazione Web di destinazione. Prestare attenzione a utilizzare esattamente lo stesso nome al momento di ricollegare il database del contenuto, altrimenti SharePoint Server creerà un nuovo database. Per eseguire questa operazione è possibile utilizzare Amministrazione centrale o Windows PowerShell 2,0. Per informazioni dettagliate, vedere Per collegare i database del contenuto a un'applicazione Web tramite Amministrazione centrale (opzione 1) oppure Per collegare i database del contenuto a un'applicazione Web tramite Windows PowerShell (opzione 2).

  8. Riavviare eventuali applicazioni di servizio e servizi che dovrebbero essere eseguiti sul database, inclusi i processi timer e le ricerche per indicizzazione. Per informazioni dettagliate, vedere Per riavviare i processi timer tramite Windows PowerShell (opzione 1) oppure Per riavviare i processi timer tramite Amministrazione centrale (opzione 2).

Spostamento dei database del contenuto

Nota

Per eseguire le procedure descritte di seguito è richiesta l'appartenenza al gruppo Administrators nei computer locali. Se SharePoint Server 2010 viene eseguito in un ambiente con privilegi minimi e si effettuano le procedure da Amministrazione centrale, verificare di disporre dei ruoli seguenti in SQL Server:

  • Ruolo predefinito del database dbowner per il database di configurazione e il database del contenuto nel server di origine, per poter scollegare il database del contenuto.

  • Ruoli predefiniti del server dbcreator e securityadmin nel server di destinazione, per poter collegare il database e configurare gli account di accesso di SQL Server.

Nota

Se si sta spostando un database del contenuto in una farm diversa, l'account della server farm dovrà diventare membro del gruppo Administrators nel server di database durante il processo di ripristino. In questo modo l'account potrà replicare l'impostazione di sicurezza per i database. Tale livello di accesso può essere rimosso dopo che il database del contenuto è stato spostato. Per ulteriori informazioni, vedere Autorizzazioni e impostazioni di sicurezza per gli account (SharePoint Server 2010).
Nella farm di destinazione deve essere eseguita la stessa versione o una versione successiva di SharePoint Server 2010 rispetto alla versione in esecuzione sulla farm di origine.

Per registrare i database del contenuto associati alle singole applicazioni Web

  1. Verificare che vengano soddisfatti i requisiti minimi seguenti: vedere Add-SPShellAdmin.

  2. Fare clic sul pulsante Start e scegliere Tutti i programmi.

  3. Fare clic su Prodotti Microsoft SharePoint 2010.

  4. Fare clic su Shell di gestione SharePoint 2010.

  5. Al prompt dei comandi di Windows PowerShell digitare il comando seguente:

    Get-SPContentDatabase -WebApplication <http://SiteName>
    

    Dove <http://SiteName> è l'URL dell'applicazione Web.

  6. Ripetere per ogni applicazione Web.

Per ulteriori informazioni, vedere Get-SPContentDatabase.

Nota

Per l'esecuzione di attività amministrative dalla riga di comando è consigliabile utilizzare Windows PowerShell. Lo strumento da riga di comando Stsadm è deprecato, ma è stato incluso per garantire la compatibilità con le versioni precedenti del prodotto.

Per sospendere i processi timer tramite Windows PowerShell (opzione 1)

  1. Verificare che vengano soddisfatti i requisiti minimi seguenti: vedere Add-SPShellAdmin.

  2. Fare clic sul pulsante Start e scegliere Tutti i programmi.

  3. Fare clic su Prodotti Microsoft SharePoint 2010.

  4. Fare clic su Shell di gestione SharePoint 2010.

  5. Al prompt dei comandi di Windows PowerShell digitare il comando seguente:

    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 }
    

    Dove:

    • <http://WebApplicationURL> è l'applicazione Web associata al database del contenuto da spostare.

    • <c:\timerjobfile.txt> è il percorso del file che si sta creando e in cui sono elencati tutti i processi timer associati all'applicazione Web.

Per ulteriori informazioni, vedere Get-SPTimerJob, Out-File, ForEach-Object, Get-Content e Disable-SPTimerJob.

Nota

Per l'esecuzione di attività amministrative dalla riga di comando è consigliabile utilizzare Windows PowerShell. Lo strumento da riga di comando Stsadm è deprecato, ma è stato incluso per garantire la compatibilità con le versioni precedenti del prodotto.

Per sospendere i processi timer tramite Amministrazione centrale (opzione 2)

  1. Verificare che l'account utente che esegue questa procedura sia membro del gruppo di SharePoint Amministratori farm.

  2. In Amministrazione centrale fare clic su Controlla stato processo nella sezione Monitoraggio.

  3. Per ogni processo pianificato che viene eseguito sul database del contenuto da spostare, fare clic sul processo per aprire la pagina Modifica processo timer, fare clic su Disattiva e quindi su OK.

  4. Se si sta eseguendo l'applicazione del servizio di ricerca ed è in corso la ricerca per indicizzazione nel database del contenuto, eseguire la procedura per sospendere tale ricerca illustrata nell'articolo Start, pause, resume, or stop a crawl (SharePoint Server 2010).

Per scollegare i database del contenuto da un'applicazione Web tramite Amministrazione centrale (opzione 1)

  1. Verificare che l'account utente che esegue questa procedura sia membro del gruppo di SharePoint Amministratori farm.

  2. In Amministrazione centrale fare clic su Gestisci database del contenuto nella sezione Gestione applicazioni.

  3. Nella pagina Gestisci database del contenuto fare clic sul database del contenuto che si desidera spostare.

    Verrà aperta la pagina Gestisci impostazioni database del contenuto.

    Nota

    Se il database del contenuto non è visualizzato nell'elenco, è possibile che sia associato a un'altra applicazione Web. Per selezionare un'altra applicazione Web, scegliere Cambia Applicazione Web dal menu Applicazione Web.

  4. Nella sezione Rimozione database del contenuto della pagina Gestisci impostazioni database del contenuto selezionare la casella di controllo Rimuovi database del contenuto e quindi fare clic su OK.

    Nota

    La rimozione del database del contenuto non comporta l'eliminazione del database, ma solo dell'associazione tra il database e l'applicazione Web.

  5. Ripetere i passaggi 3 e 4 per ogni database del contenuto da spostare.

Per scollegare i database del contenuto da un'applicazione Web tramite Windows PowerShell (opzione 2)

  1. Verificare che vengano soddisfatti i requisiti minimi seguenti: vedere Add-SPShellAdmin.

  2. Fare clic sul pulsante Start e scegliere Tutti i programmi.

  3. Fare clic su Prodotti Microsoft SharePoint 2010.

  4. Fare clic su Shell di gestione SharePoint 2010.

  5. Al prompt dei comandi di Windows PowerShell digitare il comando seguente:

    Dismount-SPContentDatabase "<ContentDB>" 
    

    Dove <ContentDB> è il nome del database del contenuto.

    Nota

    Se vi sono più database del contenuto con lo stesso nome, in tale comando sarà necessario specificare il GUID e non il nome del database. Per recuperare il GUID del database del contenuto, eseguire il cmdlet Get-SPContentDatabase senza argomenti.

Per ulteriori informazioni, vedere Dismount-SPContentDatabase e Get-SPContentDatabase.

Nota

Per l'esecuzione di attività amministrative dalla riga di comando è consigliabile utilizzare Windows PowerShell. Lo strumento da riga di comando Stsadm è deprecato, ma è stato incluso per garantire la compatibilità con le versioni precedenti del prodotto.

Per scollegare i database del contenuto da SQL Server

  1. Verificare che l'account utente che esegue questa procedura appartenga al ruolo predefinito del database db_owner sul server database su cui è archiviato ogni database.

  2. In SQL Server Management Studio aprire l'istanza di SQL Server di origine e quindi espandere il nodo Database.

  3. Fare clic con il pulsante destro del mouse sul database del contenuto, scegliere Attività e quindi Scollega. Ripetere questo passaggio per ogni database del contenuto che si desidera spostare.

    Nota

    Utilizzare questa procedura solo per spostare database del contenuto. Non scollegare altri tipi di database.

Per spostare i database del contenuto in un nuovo percorso

  1. Verificare che l'account utente che esegue questa procedura disponga di accesso in scrittura per le cartelle di origine e di destinazione.

  2. In Esplora risorse individuare i file con estensione mdf, ldf e ndf per i database del contenuto.

  3. Selezionare i file con estensione mdf, ldf e ndf per il database da spostare e copiarli o spostarli nella directory di destinazione.

Per collegare i database del contenuto alla nuova istanza di SQL Server

  1. Verificare che l'account utente che esegue questa procedura appartenga al ruolo predefinito del database dbcreator sul server database su cui è archiviato ogni database.

  2. In Management Studio aprire l'istanza di SQL Server di destinazione.

  3. Fare clic con il pulsante destro del mouse sul nodo Database, scegliere Attività e quindi Collega.

  4. Nella finestra di dialogo Collega database individuare il percorso in cui sono stati trasferiti i file con estensione mdf, ldf e ndf, selezionare il file mdf del database da collegare e quindi fare clic su OK.

  5. Ripetere per ogni database del contenuto da spostare.

Per collegare i database del contenuto a un'applicazione Web tramite Amministrazione centrale (opzione 1)

  1. Verificare che l'account utente che sta eseguendo la procedura sia membro del gruppo Amministratori farm.

  2. In Amministrazione centrale fare clic su Gestisci database del contenuto nella sezione Gestione applicazioni.

  3. Nella pagina Gestisci database del contenuto fare clic su Aggiungi database del contenuto.

  4. Nella pagina Aggiungi database del contenuto verificare che nel menu Applicazione Web sia visualizzata l'applicazione Web corretta.

  5. Nella casella Server specificare il server di database in cui è ospitato il database.

  6. Nella casella Nome database digitare il nome esatto del database del contenuto trasferito.

    Nota

    Verificare che il nome sia corretto, altrimenti verrà creato un nuovo database.

  7. Specificare il metodo di autenticazione per il database e quindi fare clic su OK.

  8. Ripetere questi passaggi per ogni database da aggiungere. Prestare attenzione a scegliere per ognuno l'applicazione Web corretta dal menu Applicazione Web.

Per collegare i database del contenuto a un'applicazione Web tramite Windows PowerShell (opzione 2)

  1. Verificare che vengano soddisfatti i requisiti minimi seguenti: vedere Add-SPShellAdmin.

  2. Fare clic sul pulsante Start e scegliere Tutti i programmi.

  3. Fare clic su Prodotti Microsoft SharePoint 2010.

  4. Fare clic su Shell di gestione SharePoint 2010.

  5. Al prompt dei comandi di Windows PowerShell digitare il comando seguente:

    Mount-SPContentDatabase "<ContentDB>" -DatabaseServer "<DBServer>" -WebApplication <http://SiteName>
    

    Dove:

    • <ContentDB> è il database del contenuto da collegare.

    • <DBServer> è il nome del server di database.

    • <http://SiteName> è l'URL dell'applicazione Web a cui viene collegato il database del contenuto.

Per ulteriori informazioni, vedere Mount-SPContentDatabase.

Nota

Per l'esecuzione di attività amministrative dalla riga di comando è consigliabile utilizzare Windows PowerShell. Lo strumento da riga di comando Stsadm è deprecato, ma è stato incluso per garantire la compatibilità con le versioni precedenti del prodotto.

Per riavviare i processi timer tramite Windows PowerShell (opzione 1)

  1. Verificare che vengano soddisfatti i requisiti minimi seguenti: vedere Add-SPShellAdmin.

  2. Fare clic sul pulsante Start e scegliere Tutti i programmi.

  3. Fare clic su Prodotti Microsoft SharePoint 2010.

  4. Fare clic su Shell di gestione SharePoint 2010.

  5. Al prompt dei comandi di Windows PowerShell digitare il comando seguente:

    ForEach($tmrjob in (Get-Content <c:\timerjobfile.txt>)) {Get-SPTimerJob -Identity $tmrjob | Enable-SPTimerjob}
    

    Dove:

    • <c:\timerjobfile.txt> è il percorso del file creato in cui sono elencati tutti i processi timer associati all'applicazione Web.

Per ulteriori informazioni, vedere Get-SPTimerJob, ForEach-Object, Enable-SPTimerJob e Get-Content.

Nota

Per l'esecuzione di attività amministrative dalla riga di comando è consigliabile utilizzare Windows PowerShell. Lo strumento da riga di comando Stsadm è deprecato, ma è stato incluso per garantire la compatibilità con le versioni precedenti del prodotto.

Per riavviare i processi timer tramite Amministrazione centrale (opzione 2)

  1. Verificare che l'account utente che sta eseguendo la procedura sia membro del gruppo Amministratori farm.

  2. In Amministrazione centrale fare clic su Controlla stato processo nella sezione Monitoraggio.

  3. Per ogni processo pianificato disattivato in precedenza, fare clic sul processo per aprire la pagina Modifica processo timer, fare clic su Attiva e quindi su OK.

  4. Se si sta eseguendo l'applicazione del servizio di ricerca ed è in corso la ricerca per indicizzazione nel database del contenuto, eseguire la procedura per riprendere tale ricerca illustrata nell'articolo Start, pause, resume, or stop a crawl (SharePoint Server 2010). È necessario eseguire una ricerca per indicizzazione completa nel database del contenuto.