Compartilhar via


Como: de forma programática fazer backup e restauração de uma coleção de site único

Este tópico descreve como para voltar e individual restaurar site coleções programaticamente.

Para fazer o backup ou restauração de uma coleção de sites

  1. Adicione ao seu projeto Visual Studio uma referência aos serviços SharePoint Windows.

  2. Adicione usando as instruções para Microsoft.SharePoint e Microsoft.SharePoint.Administration.

  3. Adicione as seguinte linhas para obter uma referência para o farm e sua coleção de serviços.

                            SPFarm myFarm = SPFarm.Local;
    SPServiceCollection myServices = myFarm.Services;
    
  4. Obter uma referência para o serviço da Web que publica de aplicativo da Web que hospeda sua coleção site usando Guid qual é o valor dos seus Id P:Microsoft.SharePoint.Administration.SPWebService.ID propriedade do serviço.

                            Guid serviceID = new Guid("21d91b29-5c5b-4893-9264-4e9c758618b4");
    SPWebService webPubService = (SPWebService)myServices[serviceID];
    

    If you do not know the Id of the application publishing Web service, you can iterate through all the services and report their Name, TypeName, and Id. A seguir está um exemplo:

                            foreach (SPService service in myServices)
    {
        if (service is SPWebService)
        {
        Console.WriteLine("Web service name:" + webService.Name);
        Console.WriteLine("Web service type:" + webService.TypeName);
        Console.WriteLine("Web service ID:" + webService.Id);
        Console.WriteLine();
        Console.Readline();
        }
    }
    
  5. Obter uma referência para o aplicativo da Web que hospeda sua coleção site. Se você souber o URL do aplicativo da Web é possível obter uma referência com o estático Lookup método M:Microsoft.SharePoint.Administration.SPWebApplication.Lookup. Como alternativa, você pode usar Guid qual é o valor dos seus Id P:Microsoft.SharePoint.Administration.SPWebApplication.ID propriedade do aplicativo. O seguinte codificar mostra o segundo método.

                            SPWebApplicationCollection myApps = webPubService.WebApplications;
    Guid appID = new Guid("10ea4e6f-ae37-4909-b04f-f516c066bc37");
    SPWebApplication myApp = myApps[appID];
    

    If you do not know the Id of the Web application that hosts your site collection, you can iterate through all the Web applications and report their Name, TypeName, and Id. A seguir está um exemplo:

                            foreach (SPWebApplication app in webApps)
    {
        Console.WriteLine("Web application name:" + app.Name);
        Console.WriteLine("Web application type:" + app.TypeName);
        Console.WriteLine("Web application ID:" + app.Id);
        Console.WriteLine();
        Console.Readline();
    }
    
  6. Obtenha uma referência a coleção da aplicativo da Web de site coleções.

                            SPSiteCollection mySiteCols = myApp.Sites;
    
  7. Para voltar até uma coleção site, chamar o Backup método M:Microsoft.SharePoint.Administration.SPSiteCollection.Backup. Como transmitir parâmetros o seguinte:

    • O URL completo da coleção de site; that is, o URL completo de seu site Top Level.

    • O nome caminho completo e arquivo do arquivo que armazenará o de conteúdo compactado da coleção de site.

    • True, se a operação deve substituir uma arquivo de backup existente com o mesmo nome; false, se ele não deve.

                            mySiteCols.Backup(@"https://Server/sites/MySiteCollection", @"\\OtherServer\WSSBackups\SiteCollections\BackupOfMySiteCollection", true);
    
  8. Para restaurar uma coleção site, chamar o Restore método M:Microsoft.SharePoint.Administration.SPSiteCollection.Restore. Leva os mesmos parâmetros como a Backup método M:Microsoft.SharePoint.Administration.SPSiteCollection.Backup. O parâmetro Boolean T:System.Boolean indica se a coleção site deve ser substituída se ele já existir na URL especificado.

                            mySiteCols.Restore(@"https://Server/sites/MySiteCollection", @"\\OtherServer\WSSBackups\SiteCollections\BackupOfMySiteCollection", true);
    

Exemplo

O seguinte exemplo mostra uma maneira simples para programaticamente voltar Up ou restaurar uma coleção site. Você precisará substituir todos os o Guid valores com real valores de sua implantação e substituir o espaço reservado valores nos métodos de backup e restauração com real URLs e caminhos de sua implantação.

                    // Get a reference to the Web application publishing
// Web service.
SPFarm myFarm = SPFarm.Local;
SPServiceCollection myServices = myFarm.Services;
Guid serviceID = new Guid("21d91b29-5c5b-4893-9264-4e9c758618b4");
SPWebService webPubService = (SPWebService)myServices[serviceID];

// Get a reference to the Web application that hosts the 
// site collection.
SPWebApplicationCollection myApps = webPubService.WebApplications;
Guid appID = new Guid("10ea4e6f-ae37-4909-b04f-f516c066bc37");
SPWebApplication myApp = myApps[appID];

// As alternative to the preceding three lines, you can use
// the following when you know the URL of the Web application:
//     SPWebApplication myApp = SPWebApplication.Lookup(url_of_Web_app)

// Get a reference to the Web application's collection of 
// site collections. 
SPSiteCollection mySiteCols = myApp.Sites;

// Back up a specified site collection. 
mySiteCols.Backup(@"https://Server/sites/MySiteCollection", @"\\OtherServer\WSSBackups\SiteCollections\BackupOfMySiteCollection", true);

// Restoring the site collection is identical to the preceding
// code except that the "Restore" is used in place of "Backup".
//
// mySiteCols.Restore(@"https://Server/sites/MySiteCollection", @"\\OtherServer\WSSBackups\SiteCollections\BackupOfMySiteCollection", true);

The SPSite class does not implement IBackupRestore and the Backup and Restore methods do not use the facilities of the Microsoft.SharePoint.Administration.Backup namespace. Isso significa que são registros de backups e restaurações de site coleções Nãomantidos em um arquivo histórico ( spbrtoc.xml) na de backup Diretório. Da mesma forma, de backup e restauração dados não são armazenados em spbackup.xml ou arquivos sprestore.xml sprestore.xml, nenhuma são essas operações coleção site registradas no spbackup.log ou arquivos sprestore.log sprestore.log.

Se você desejar fazer qualquer tipo de log de backups e restaurações de operações coleção site, você terá para programa seu sistema. Writing to the system-created spbrtoc.xml, spbackup.xml, sprestore.xml, spbackup.log, and sprestore.log files is not supported in Windows SharePoint Services 3.0. Nenhum está se movendo-los, excluí-los, ou renomeá-los. No entanto, você pode criar arquivos que mesclar dados a partir dos arquivos de System-Created com dados de seu site coleção backups e restaurações.

Consulte também

Tarefas

Como: de forma programática fazer backup de conteúdo
Como: de forma programática restaurar conteúdo
Como a: criar uma classe de conteúdo que pode ser feita e restaurada
Como a: estender o utilitário STSADM

Referência

Microsoft.SharePoint.Administration.Backup
Backup
Restore

Conceitos

Programação com o modelo de objeto de backup/restauração de serviços SharePoint Windows

Outros recursos

Stsadm.exe ferramenta de linha de comando