Backup Compression and Virtual Device Interface

Embed Size (px)

Citation preview

  • 8/13/2019 Backup Compression and Virtual Device Interface

    1/1

    Backup compression and Virtual Device Interface (VDI)Sunil Agarwal

    21 Feb 2010 3:07 PM

    People often ask if they can get native SQL Server backup compression using VDI interface. The simple

    answer is 'yes' but there are few things you need to be aware of as described below. You can get

    details on VDI by clicking link-to-VDI-Specifications.

    Within the VDI protocol, the backup application specifies a TSQL backup command. This means that

    the backup application can use any TSQL command line options including the option 'WITH

    COMPRESSION'. In this case, the SQL Server will send a pre-compressed (using SQL nativecompression algorithm) data stream. However, if the server default is set to always compress, the SQL

    Server will not send compressed data stream to VDI initiated backup unless the application specifically

    requests it. The reason for this logic is that some backup applications depend on reading and

    interpreting the backup stream, and if SQL Server sends compressed bytes, it can potentially break the

    backup application. For example, there are 3rd partly backup tools that allow extracting an object (i.e.

    a table) from the backup and if the backup is compressed in proprietary format, the tool will not be

    able to extract the object. On the other hand, if the backup application explicitly requests the backup

    compression, then we know that the application is expecting an opaque, compressed stream.

    Secondarily, some backup applications do their own compression and may prefer to use their own

    algorithm. Thats perfectly OK too.

    Thanks Sunil Agarwal and Kevin Farlee

    U VDI protokola, backup aplikacija navodi TSQL backup naredbu. To znai da backup aplikacija moe

    koristiti bilo TSQL opcije naredbenog retka, ukljuujui opcije 's kompresijskim'. U ovom sluaju, SQL

    Server e poslati unaprijed stlaenih (koristei SQL izvorni kompresije algoritam) data stream. Meutim,

    ako je posluitelj zadani je postavljen za uvijek stisnuti, SQL Server nee slati komprimirane podataka

    stream na VDI pokrenuo backup, osim akoje zahtjev izriito trai.Razlog za to logika je da su neki

    backup aplikacije ovise o itanju i tumaenju backup stream, a ako SQL Server alje komprimirane

    bajtova, to potencijalno moe razbiti backup aplikacija. Na primjer, postoje 3rd partly backup alata koji

    omoguuju ekstrat objekt (tj. tablice) iz backup i ako backup je stisnut u vlasnikim formatu, alat nee

    moi izdvojiti objekt. S druge strane, ako je backup aplikacija izriito trai backup kompresiju, onda

    znamo da je primjena oekuje neproziran, komprimiranog stream. Drugo, neki backup aplikacije

    napraviti vlastiti kompresije i svibanj elite koristiti svoj vlastiti algoritam. To je savreno u redu previe.