共用方式為


SPBackupRestoreConsole class

提供靜態方法執行及管理備份與還原作業。

Inheritance hierarchy

System.Object
  Microsoft.SharePoint.Administration.Backup.SPBackupRestoreConsole

Namespace:  Microsoft.SharePoint.Administration.Backup
Assembly:  Microsoft.SharePoint (in Microsoft.SharePoint.dll)

Syntax

'宣告
<SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel := True)> _
Public NotInheritable Class SPBackupRestoreConsole
'用途
Dim instance As SPBackupRestoreConsole
[SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel = true)]
public sealed class SPBackupRestoreConsole

備註

SPBackupRestoreConsole類別的設計也為了提供在其可以輕鬆地建置 UI 的備份及還原管理的基礎。

SPBackupRestoreConsole物件會載入及其成員的任何參照第一次,且仍直到下一個重設網際網路資訊伺服器 (ISS) 載入。不過,它使用非常少的記憶體。

永遠不會超過一個SPBackupRestoreConsole物件。

此類別的方法主要搭配輕量型類型SPBackupRestoreConsoleObject的物件。後者類別的每個物件代表特定的備份或還原作業。

Examples

下列範例會顯示用於哪種SPBackupRestoreConsole物件的許多方式備份的應用程式中。完整範例和它的詳細的資訊,請參閱 < How to: Programmatically Back Up Content

static void Main(string[] args)
{
    // Identify the location for the backup storage.
    Console.Write("Enter full UNC path to the directory where the backup will be stored:");
    String backupLocation = Console.ReadLine();
    
    // Create the backup settings.
    SPBackupSettings settings = SPBackupRestoreSettings.GetBackupSettings(backupLocation, "Full");

    // Identify the content component to backup.
    Console.Write("Enter name of component to backup (default is whole farm):");
    settings.IndividualItem = Console.ReadLine();
    
    // Set optional operation parameters.
    settings.IsVerbose = true;
    settings.UpdateProgress = 10;
    settings.BackupThreads = 10;

    // Create the backup operation and return its ID.
    Guid backup = SPBackupRestoreConsole.CreateBackupRestore(settings);

    // Ensure that user has identified a valid and unique component.
    SPBackupRestoreObject node = EnsureUniqueValidComponentName(settings, ref backup);

    // Ensure that there is enough space.
    Boolean targetHasEnoughSpace = false;
    if (node != null)
    {
        targetHasEnoughSpace = EnsureEnoughDiskSpace(backupLocation, backup, node);
    }

    // If there is enough space, attempt to run the backup.
    if (targetHasEnoughSpace)
    {
        // Set the backup as the active job and run it.
        if (SPBackupRestoreConsole.SetActive(backup) == true)
        {
            if (SPBackupRestoreConsole.Run(backup, node) == false)
            {
                // Report "error" through your UI.
                String error = SPBackupRestoreConsole.Get(backup).FailureMessage;
                Console.WriteLine(error);
            }
        }
        else
        {
            // Report through your UI that another backup
            // or restore operation is underway. 
            Console.WriteLine("Another backup or restore operation is already underway. Try again when it ends.");
        }

        // Clean up the operation.
        SPBackupRestoreConsole.Remove(backup);

        Console.WriteLine("Backup attempt complete. Press Enter to continue.");
        Console.ReadLine();
    }
}// end Main
Shared Sub Main(ByVal args() As String)
    ' Identify the location for the backup storage.
    Console.Write("Enter full UNC path to the directory where the backup will be stored:")
    Dim backupLocation As String = Console.ReadLine()

    ' Create the backup settings.
    Dim settings As SPBackupSettings = SPBackupRestoreSettings.GetBackupSettings(backupLocation, "Full")

    ' Identify the content component to backup.
    Console.Write("Enter name of component to backup (default is whole farm):")
    settings.IndividualItem = Console.ReadLine()

    ' Set optional operation parameters.
    settings.IsVerbose = True
    settings.UpdateProgress = 10
    settings.BackupThreads = 10

    ' Create the backup operation and return its ID.
    Dim backup As Guid = SPBackupRestoreConsole.CreateBackupRestore(settings)

    ' Ensure that user has identified a valid and unique component.
    Dim node As SPBackupRestoreObject = EnsureUniqueValidComponentName(settings, backup)

    ' Ensure that there is enough space.
    Dim targetHasEnoughSpace As Boolean = False
    If node IsNot Nothing Then
        targetHasEnoughSpace = EnsureEnoughDiskSpace(backupLocation, backup, node)
    End If

    ' If there is enough space, attempt to run the backup.
    If targetHasEnoughSpace Then
        ' Set the backup as the active job and run it.
        If SPBackupRestoreConsole.SetActive(backup) = True Then
            If SPBackupRestoreConsole.Run(backup, node) = False Then
                ' Report "error" through your UI.
                Dim [error] As String = SPBackupRestoreConsole.Get(backup).FailureMessage
                Console.WriteLine([error])
            End If
        Else
            ' Report through your UI that another backup
            ' or restore operation is underway. 
            Console.WriteLine("Another backup or restore operation is already underway. Try again when it ends.")
        End If

        ' Clean up the operation.
        SPBackupRestoreConsole.Remove(backup)

        Console.WriteLine("Backup attempt complete. Press Enter to continue.")
        Console.ReadLine()
    End If
End Sub ' end Main

Thread safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

請參閱

參照

SPBackupRestoreConsole members

Microsoft.SharePoint.Administration.Backup namespace