Backup Compression (SQL Server)

Kompresja kopia zapasowa został wprowadzony w SQL Server 2008 Enterprise. W tym temacie omówiono podstawowe informacje o kopia zapasowa kompresji, tym zależność wydajności z kompresowanie kopii zapasowych.

Uwaga

Tworzenie kopii zapasowych skompresowany jest obsługiwany tylko w SQL Server 2008 Enterprise później, ale w początkowe SQL Server 2008, każde wydanie można przywrócić kopia zapasowa skompresowany.

Ograniczenia

Aby skompresowane kopie zapasowe, obowiązują następujące ograniczenia:

  • Kopie zapasowe nieskompresowanych i skompresowanych nie mogą współistnieć zestaw nośników.

  • Poprzednie wersje SQL Server Nie można odczytać skompresowanej kopii zapasowych.

  • NTbackups nie można udostępnić taśmę z kompresji SQL Server kopie zapasowe.

Wpływ na wydajność programu kompresowanie kopii zapasowych

Ponieważ skompresowana kopia zapasowa jest mniejszy niż bez kompresji tworzenia kopii zapasowych tych samych danych, kompresowanie kopii zapasowej zazwyczaj wymaga mniej urządzenia We/Wy i w związku z tym zazwyczaj zwiększa szybkość wykonywania kopii zapasowych znacznie.

Domyślnie kompresja znacznie zwiększa obciążenia PROCESORA, a dodatkowe PROCESORA przez proces kompresji może pogorszyć równoczesne wykonywanie operacji.Dlatego warto tworzyć kopie zapasowe skompresowanych niskim priorytecie w sesja, których użycie PROCESORA jest ograniczona Governor zasób.Aby uzyskać więcej informacji zobaczHow to: Use Resource Governor to Limit CPU Usage by Backup Compression (Transact-SQL).

Aby uzyskać dobrą obraz kopia zapasowa wydajność wejścia/wyjścia, można odizolować kopia zapasowa We/Wy z urządzenia lub poprzez ocenę następujące rodzaje liczników wydajności:

Aby uzyskać informacje na temat liczników systemu Windows zobacz Pomoc systemu Windows.Aby uzyskać informacje na temat pracy z licznikami programu SQL Server zobacz Using SQL Server Objects.

Konfiguracja

Podczas instalacji kompresja kopia zapasowa jest domyślnie wyłączona.The default behavior for backup compression is defined by the backup compression default Optionserver-level configuration option.Można zastąpić domyślny poziom serwera podczas tworzenia pojedynczej kopia zapasowa lub planowania szereg rutynowych kopii zapasowych.

Aby zmienić domyślny poziom serwera

Aby zastąpić domyślne kompresji kopia zapasowa

Można zmienić zachowanie kopia zapasowa kompresji dla poszczególnych kopii zapasowych, zadanie kopia zapasowa lub wysyłanie dziennika konfiguracja.

  • Transact-SQL

    Dla danej kopia zapasowa, można użyć Z NO_COMPRESSION lub WITH COMPRESSION w kopia zapasowa instrukcja.

    For a log shipping configuration, you can control the backup compression behavior of log backups by using sp_add_log_shipping_primary_databasesp_change_log_shipping_primary_database (Transact-SQL).

  • SQL Server Management Studio

    Domyślnej kompresji kopia zapasowa serwera można zastąpić, określając Kompresowanie kopia zapasowa or kopia zapasowa nie są kompresowane. w dowolnej z poniższych okien dialogowych:

    • Wykonaj kopię zapasową bazy danych (strona Opcje)

      Podczas wykonywania zapasowej kopii bazy danych, można kontrolować kopia zapasowa dziennika kompresji dla poszczególnych bazy danych, plików lub kopia zapasowa dziennika.

    • Maintenance Plan Wizard

      Kreator planu konserwacji umożliwia kontrolowanie wykonywania kopii zapasowych kompresji dla każdego pełnego zestaw lub kopie zapasowe różnicowe bazy danych lub kopii zapasowych dziennika, które można zaplanować.

    • SQL Server 2008 Integration Services (SSIS)Zadania z powrotem w górę Database

      Można kontrolować zachowanie kompresji kopia zapasowa, podczas tworzenia pakiet do tworzenia kopia zapasowa bazy danych jednego lub wielu baz danych.

    • Log Shipping Transaction Log Backup Settings

      Można kontrolować zachowanie kompresji kopia zapasowa dziennika kopii zapasowych.

Stopień kompresji

Aby obliczyć stopień kompresji kopia zapasowa, należy użyć wartości dla kopia zapasowa w backup_size and compressed_backup_size kolumnbackupset historia tabela, w następujący sposób:

backup_size:compressed_backup_size

Na przykład 3: 1 kompresji wskazuje, że zapisujesz 66 % miejsca na dysku.Aby wykonać kwerendę na podstawie tych kolumn, można użyć następującej instrukcja języka Transact-SQL:

SELECT backup_size/compressed_backup_size FROM msdb..backupset;

Stopień kompresji skompresowana kopia zapasowa, zależy od danych, która została skompresowana.Różnych czynników może mieć wpływ uzyskać stopień kompresji.Główne czynniki obejmują:

  • Typ danych.

    Dane znakowe kompresuje więcej niż inne typy danych.

  • Spójność danych między wierszami strona.

    Zazwyczaj Jeśli strona zawiera kilka wierszy, w których pole zawiera tę samą wartość, znaczne kompresji mogą wystąpić dla tej wartości.Natomiast dla bazy danych zawierającej dane losowe lub zawiera tylko jeden duży wierszy na każdej stronie, skompresowana kopia zapasowa będzie prawie tak duży jak bez kompresji tworzenia kopii zapasowej.

  • Czy dane są szyfrowane.

    Zaszyfrowane dane są kompresowane znacznie mniej niż odpowiednik niezaszyfrowanej danych.Jeśli przezroczyste szyfrowanie jest używany do szyfrowanie całej bazie danych, kompresowanie kopii zapasowych może nie zmniejszyć ich rozmiar, wiele, jeśli w ogóle.

  • Czy baza danych jest skompresowany.

    Jeżeli baza danych jest skompresowany, kompresowanie kopii zapasowych może nie zmniejszyć ich rozmiar, większość, jeśli w ogóle.