1

I Made this simple query to list the Backup_size:

select database_name, backup_finish_date, backup_size 
from msdb.dbo.backupset
where day(backup_finish_date) = 26
and year(backup_finish_date) = 2017
and month(backup_finish_date) = 10

OK. I made a database backup, and in my select, I got this result:

My_database | 2017-10-26 16:59:44.000 | 8509270016

As Seen Here ( Microsoft's website ), this field is a byte field. Ok. Converting 8509270016 bytes to KB I have: 8,309,834 Kilobytes.

but the database size inside the folder, has:

enter image description here

  • Are you using backup compression? There is another column on msdb.dbo.backupset called compressed_backup_size. What does that show? Is this a native SQL Server backup or was the backup created with a 3rd party product? – Scott Hodgin Oct 26 '17 at 19:29
  • I tested with both with compression and without and none of them match. no no, I'm using the old backup database.... and it says 1132155964. 1.01GB. the file is 2GB – Racer SQL Oct 26 '17 at 19:47
  • On your backup command, are you using init or noinit? – Scott Hodgin Oct 26 '17 at 20:09
  • i'm using only backup database x to disk ='y' with compression – Racer SQL Oct 27 '17 at 14:18
  • 1
    So, you are not 'specifically' specifying INIT on your backup command which means that you are appending backups which will cause the backup file to increase in size. From the docs on BACKUP - The default is to append to the most recent backup set on the media (NOINIT). I'd be curious as to the file size if you specified INIT on your BACKUP command – Scott Hodgin Oct 27 '17 at 14:23
0

BACKUP DATABASE, by default, does not overwrite existing backup sets contained within a backup file.

According to Microsoft Docs on BACKUP DATABASE:

If the physical device exists and the INIT option is not specified in the BACKUP statement, the backup is appended to the device.

To test this, the following code will create a blank database, then take three backups of that database, without the INIT option. The size of the backup file increases each time a backup is taken.

USE master;

IF EXISTS (SELECT 1 FROM sys.databases d WHERE d.name = 'BackupTest')
BEGIN
    ALTER DATABASE BackupTest SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
    DROP DATABASE BackupTest;
END
CREATE DATABASE BackupTest;
BACKUP DATABASE BackupTest TO DISK = 'C:\temp\BackupTest.bak';
EXEC sys.xp_cmdshell 'DIR "C:\temp\BackupTest.bak"';
 Volume in drive C is Windows
 Volume Serial Number is 1E06-5D89

 Directory of C:\temp

 05/15/2018  02:55 PM           399,360 BackupTest.bak
               1 File(s)        399,360 bytes
               0 Dir(s)  111,145,492,480 bytes free
BACKUP DATABASE BackupTest TO DISK = 'C:\temp\BackupTest.bak';
EXEC sys.xp_cmdshell 'DIR "C:\temp\BackupTest.bak"';
 Volume in drive C is Windows
 Volume Serial Number is 1E06-5D89

 Directory of C:\temp

 05/15/2018  02:55 PM           796,672 BackupTest.bak
               1 File(s)        796,672 bytes
               0 Dir(s)  111,145,091,072 bytes free
BACKUP DATABASE BackupTest TO DISK = 'C:\temp\BackupTest.bak';
EXEC sys.xp_cmdshell 'DIR "C:\temp\BackupTest.bak"';
 Volume in drive C is Windows
 Volume Serial Number is 1E06-5D89

 Directory of C:\temp

 05/15/2018  02:55 PM         1,193,984 BackupTest.bak
               1 File(s)      1,193,984 bytes
               0 Dir(s)  111,144,693,760 bytes free

If we look at the content of the backup file with RESTORE HEADERONLY we see the three backups contained within the file:

╔════════════╦═══════════════════╦════════════╦════════════════╦════════════╦══════════╦════════════╦══════════╦════════════╦══════════════╦═════════════════╦═════════════════════════╦════════════╦═══════════════════╦═══════════════════╦═══════════════════╦═══════════════════╦═════════════════════════╦═════════════════════════╦═══════════╦══════════╦═════════════════╦════════════════════════╦════════════════════╦══════════════════╦══════════════════════╦══════════════════════╦══════════════════════╦═════════════╦═══════╦══════════════════════════════════════╦══════════════════════════════════════╦══════════════════════════════╦══════════════════════════════════════╦═══════════════════╦════════════╦════════════╦══════════════╦════════════════════╦═══════════╦════════════════╦═══════════════════════╦════════════════╦════════════╦══════════════════════════════════════╦══════════════╦═══════════════╦═════════════════════╦══════════════════════╦═══════════════════════╦══════════════════════════════════════╦══════════════════════╦═════════════╗
║ BackupName ║ BackupDescription ║ BackupType ║ ExpirationDate ║ Compressed ║ Position ║ DeviceType ║ UserName ║ ServerName ║ DatabaseName ║ DatabaseVersion ║  DatabaseCreationDate   ║ BackupSize ║     FirstLSN      ║      LastLSN      ║   CheckpointLSN   ║ DatabaseBackupLSN ║     BackupStartDate     ║    BackupFinishDate     ║ SortOrder ║ CodePage ║ UnicodeLocaleId ║ UnicodeComparisonStyle ║ CompatibilityLevel ║ SoftwareVendorId ║ SoftwareVersionMajor ║ SoftwareVersionMinor ║ SoftwareVersionBuild ║ MachineName ║ Flags ║              BindingID               ║            RecoveryForkID            ║          Collation           ║              FamilyGUID              ║ HasBulkLoggedData ║ IsSnapshot ║ IsReadOnly ║ IsSingleUser ║ HasBackupChecksums ║ IsDamaged ║ BeginsLogChain ║ HasIncompleteMetaData ║ IsForceOffline ║ IsCopyOnly ║         FirstRecoveryForkID          ║ ForkPointLSN ║ RecoveryModel ║ DifferentialBaseLSN ║ DifferentialBaseGUID ║ BackupTypeDescription ║            BackupSetGUID             ║ CompressedBackupSize ║ Containment ║
╠════════════╬═══════════════════╬════════════╬════════════════╬════════════╬══════════╬════════════╬══════════╬════════════╬══════════════╬═════════════════╬═════════════════════════╬════════════╬═══════════════════╬═══════════════════╬═══════════════════╬═══════════════════╬═════════════════════════╬═════════════════════════╬═══════════╬══════════╬═════════════════╬════════════════════════╬════════════════════╬══════════════════╬══════════════════════╬══════════════════════╬══════════════════════╬═════════════╬═══════╬══════════════════════════════════════╬══════════════════════════════════════╬══════════════════════════════╬══════════════════════════════════════╬═══════════════════╬════════════╬════════════╬══════════════╬════════════════════╬═══════════╬════════════════╬═══════════════════════╬════════════════╬════════════╬══════════════════════════════════════╬══════════════╬═══════════════╬═════════════════════╬══════════════════════╬═══════════════════════╬══════════════════════════════════════╬══════════════════════╬═════════════╣
║ NULL       ║ NULL              ║          1 ║ NULL           ║          1 ║        1 ║          2 ║ me       ║ machine    ║ BackupTest   ║             706 ║ 2018-05-15 15:06:09.000 ║    2633728 ║ 35000000005500064 ║ 35000000008500001 ║ 35000000005500064 ║                 0 ║ 2018-05-15 15:06:10.000 ║ 2018-05-15 15:06:10.000 ║        52 ║        0 ║            1033 ║                 196609 ║                110 ║             4608 ║                   11 ║                    0 ║                 6260 ║ machine     ║   512 ║ 2E885286-1648-4085-96D8-0AFF92CCE995 ║ 9F2C5269-0971-4BD5-AEEE-D64D8810CF55 ║ SQL_Latin1_General_CP1_CI_AS ║ 9F2C5269-0971-4BD5-AEEE-D64D8810CF55 ║                 0 ║          0 ║          0 ║            0 ║                  0 ║         0 ║              0 ║                     0 ║              0 ║          0 ║ 9F2C5269-0971-4BD5-AEEE-D64D8810CF55 ║ NULL         ║ FULL          ║ NULL                ║ NULL                 ║ Database              ║ 94CA4CD7-659F-406B-9411-AF00DCC8E900 ║               397660 ║           0 ║
║ NULL       ║ NULL              ║          1 ║ NULL           ║          1 ║        2 ║          2 ║ me       ║ machine    ║ BackupTest   ║             706 ║ 2018-05-15 15:06:09.000 ║    2632704 ║ 35000000009500037 ║ 35000000011200001 ║ 35000000009500037 ║ 35000000005500064 ║ 2018-05-15 15:06:10.000 ║ 2018-05-15 15:06:11.000 ║        52 ║        0 ║            1033 ║                 196609 ║                110 ║             4608 ║                   11 ║                    0 ║                 6260 ║ machine     ║   512 ║ 2E885286-1648-4085-96D8-0AFF92CCE995 ║ 9F2C5269-0971-4BD5-AEEE-D64D8810CF55 ║ SQL_Latin1_General_CP1_CI_AS ║ 9F2C5269-0971-4BD5-AEEE-D64D8810CF55 ║                 0 ║          0 ║          0 ║            0 ║                  0 ║         0 ║              0 ║                     0 ║              0 ║          0 ║ 9F2C5269-0971-4BD5-AEEE-D64D8810CF55 ║ NULL         ║ FULL          ║ NULL                ║ NULL                 ║ Database              ║ 840F2E51-1805-4270-AF31-BB09F4799B4F ║               396242 ║           0 ║
║ NULL       ║ NULL              ║          1 ║ NULL           ║          1 ║        3 ║          2 ║ me       ║ machine    ║ BackupTest   ║             706 ║ 2018-05-15 15:06:09.000 ║    2632704 ║ 35000000012200037 ║ 35000000013900001 ║ 35000000012200037 ║ 35000000009500037 ║ 2018-05-15 15:06:11.000 ║ 2018-05-15 15:06:11.000 ║        52 ║        0 ║            1033 ║                 196609 ║                110 ║             4608 ║                   11 ║                    0 ║                 6260 ║ machine     ║   512 ║ 2E885286-1648-4085-96D8-0AFF92CCE995 ║ 9F2C5269-0971-4BD5-AEEE-D64D8810CF55 ║ SQL_Latin1_General_CP1_CI_AS ║ 9F2C5269-0971-4BD5-AEEE-D64D8810CF55 ║                 0 ║          0 ║          0 ║            0 ║                  0 ║         0 ║              0 ║                     0 ║              0 ║          0 ║ 9F2C5269-0971-4BD5-AEEE-D64D8810CF55 ║ NULL         ║ FULL          ║ NULL                ║ NULL                 ║ Database              ║ 448F651F-D847-463D-A5DA-8C2F8EA8ECC5 ║               396295 ║           0 ║
╚════════════╩═══════════════════╩════════════╩════════════════╩════════════╩══════════╩════════════╩══════════╩════════════╩══════════════╩═════════════════╩═════════════════════════╩════════════╩═══════════════════╩═══════════════════╩═══════════════════╩═══════════════════╩═════════════════════════╩═════════════════════════╩═══════════╩══════════╩═════════════════╩════════════════════════╩════════════════════╩══════════════════╩══════════════════════╩══════════════════════╩══════════════════════╩═════════════╩═══════╩══════════════════════════════════════╩══════════════════════════════════════╩══════════════════════════════╩══════════════════════════════════════╩═══════════════════╩════════════╩════════════╩══════════════╩════════════════════╩═══════════╩════════════════╩═══════════════════════╩════════════════╩════════════╩══════════════════════════════════════╩══════════════╩═══════════════╩═════════════════════╩══════════════════════╩═══════════════════════╩══════════════════════════════════════╩══════════════════════╩═════════════╝

However, if we now use the INIT option:

BACKUP DATABASE BackupTest TO DISK = 'C:\temp\BackupTest.bak' WITH INIT;
EXEC sys.xp_cmdshell 'DIR "C:\temp\BackupTest.bak"';

We see the size of the backup file reflects a single backup again:

 Volume in drive C is Windows
 Volume Serial Number is 1E06-5D89

 Directory of C:\temp

 05/15/2018  03:02 PM           398,336 BackupTest.bak
               1 File(s)        398,336 bytes
               0 Dir(s)  111,145,304,064 bytes free

And if we look at RESTORE HEADERONLY, we see a single backup is contained in the file:

╔════════════╦═══════════════════╦════════════╦════════════════╦════════════╦══════════╦════════════╦══════════╦════════════╦══════════════╦═════════════════╦═════════════════════════╦════════════╦═══════════════════╦═══════════════════╦═══════════════════╦═══════════════════╦═════════════════════════╦═════════════════════════╦═══════════╦══════════╦═════════════════╦════════════════════════╦════════════════════╦══════════════════╦══════════════════════╦══════════════════════╦══════════════════════╦═════════════╦═══════╦══════════════════════════════════════╦══════════════════════════════════════╦══════════════════════════════╦══════════════════════════════════════╦═══════════════════╦════════════╦════════════╦══════════════╦════════════════════╦═══════════╦════════════════╦═══════════════════════╦════════════════╦════════════╦══════════════════════════════════════╦══════════════╦═══════════════╦═════════════════════╦══════════════════════╦═══════════════════════╦══════════════════════════════════════╦══════════════════════╦═════════════╗
║ BackupName ║ BackupDescription ║ BackupType ║ ExpirationDate ║ Compressed ║ Position ║ DeviceType ║ UserName ║ ServerName ║ DatabaseName ║ DatabaseVersion ║  DatabaseCreationDate   ║ BackupSize ║     FirstLSN      ║      LastLSN      ║   CheckpointLSN   ║ DatabaseBackupLSN ║     BackupStartDate     ║    BackupFinishDate     ║ SortOrder ║ CodePage ║ UnicodeLocaleId ║ UnicodeComparisonStyle ║ CompatibilityLevel ║ SoftwareVendorId ║ SoftwareVersionMajor ║ SoftwareVersionMinor ║ SoftwareVersionBuild ║ MachineName ║ Flags ║              BindingID               ║            RecoveryForkID            ║          Collation           ║              FamilyGUID              ║ HasBulkLoggedData ║ IsSnapshot ║ IsReadOnly ║ IsSingleUser ║ HasBackupChecksums ║ IsDamaged ║ BeginsLogChain ║ HasIncompleteMetaData ║ IsForceOffline ║ IsCopyOnly ║         FirstRecoveryForkID          ║ ForkPointLSN ║ RecoveryModel ║ DifferentialBaseLSN ║ DifferentialBaseGUID ║ BackupTypeDescription ║            BackupSetGUID             ║ CompressedBackupSize ║ Containment ║
╠════════════╬═══════════════════╬════════════╬════════════════╬════════════╬══════════╬════════════╬══════════╬════════════╬══════════════╬═════════════════╬═════════════════════════╬════════════╬═══════════════════╬═══════════════════╬═══════════════════╬═══════════════════╬═════════════════════════╬═════════════════════════╬═══════════╬══════════╬═════════════════╬════════════════════════╬════════════════════╬══════════════════╬══════════════════════╬══════════════════════╬══════════════════════╬═════════════╬═══════╬══════════════════════════════════════╬══════════════════════════════════════╬══════════════════════════════╬══════════════════════════════════════╬═══════════════════╬════════════╬════════════╬══════════════╬════════════════════╬═══════════╬════════════════╬═══════════════════════╬════════════════╬════════════╬══════════════════════════════════════╬══════════════╬═══════════════╬═════════════════════╬══════════════════════╬═══════════════════════╬══════════════════════════════════════╬══════════════════════╬═════════════╣
║ NULL       ║ NULL              ║          1 ║ NULL           ║          1 ║        1 ║          2 ║ me       ║ machine    ║ BackupTest   ║             706 ║ 2018-05-15 15:06:09.000 ║    2632704 ║ 35000000014900037 ║ 35000000016600001 ║ 35000000014900037 ║ 35000000012200037 ║ 2018-05-15 15:06:11.000 ║ 2018-05-15 15:06:11.000 ║        52 ║        0 ║            1033 ║                 196609 ║                110 ║             4608 ║                   11 ║                    0 ║                 6260 ║ machine     ║   512 ║ 2E885286-1648-4085-96D8-0AFF92CCE995 ║ 9F2C5269-0971-4BD5-AEEE-D64D8810CF55 ║ SQL_Latin1_General_CP1_CI_AS ║ 9F2C5269-0971-4BD5-AEEE-D64D8810CF55 ║                 0 ║          0 ║          0 ║            0 ║                  0 ║         0 ║              0 ║                     0 ║              0 ║          0 ║ 9F2C5269-0971-4BD5-AEEE-D64D8810CF55 ║ NULL         ║ FULL          ║ NULL                ║ NULL                 ║ Database              ║ EA10F663-FAF3-422C-AE4E-3478AA7658BC ║               396310 ║           0 ║
╚════════════╩═══════════════════╩════════════╩════════════════╩════════════╩══════════╩════════════╩══════════╩════════════╩══════════════╩═════════════════╩═════════════════════════╩════════════╩═══════════════════╩═══════════════════╩═══════════════════╩═══════════════════╩═════════════════════════╩═════════════════════════╩═══════════╩══════════╩═════════════════╩════════════════════════╩════════════════════╩══════════════════╩══════════════════════╩══════════════════════╩══════════════════════╩═════════════╩═══════╩══════════════════════════════════════╩══════════════════════════════════════╩══════════════════════════════╩══════════════════════════════════════╩═══════════════════╩════════════╩════════════╩══════════════╩════════════════════╩═══════════╩════════════════╩═══════════════════════╩════════════════╩════════════╩══════════════════════════════════════╩══════════════╩═══════════════╩═════════════════════╩══════════════════════╩═══════════════════════╩══════════════════════════════════════╩══════════════════════╩═════════════╝

I have backup compression turned on, so msdb.dbo.backupset shows the following sizes for the backups I just took:

SELECT bs.backup_finish_date
    , bs.backup_size
    , bs.compressed_backup_size
FROM msdb.dbo.backupset bs
WHERE bs.database_name = 'BackupTest'
ORDER BY bs.backup_set_id DESC
╔═════════════════════════╦═════════════╦════════════════════════╗
║   backup_finish_date    ║ backup_size ║ compressed_backup_size ║
╠═════════════════════════╬═════════════╬════════════════════════╣
║ 2018-05-15 15:06:11.000 ║     2632704 ║                 396310 ║
║ 2018-05-15 15:06:11.000 ║     2632704 ║                 396295 ║
║ 2018-05-15 15:06:11.000 ║     2632704 ║                 396242 ║
║ 2018-05-15 15:06:10.000 ║     2633728 ║                 397660 ║
╚═════════════════════════╩═════════════╩════════════════════════╝

As you can see the backup_size is the uncompressed size of the backup, in bytes, and the compressed_backup_size closely matches the size reported by the filesystem, assuming you incrementally add the sizes as each backup is added to the backup file.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.