The media set for database ''DBATEST'' has 2 family members but only 1 are provided. All members must be provided.

  • i am attempting to restore a database and I am receiving the following message 'The media set for database 'DBATEST' has 2 family members but only 1 are provided.  All members must be provided.'

    I think I am restoring the original backup so why won't it let me do the restore?

    The statement I am using is

    restore DATABASE DBATEST from disk = 'f:\mssql\backup\DBATEST.bak'

  • The backup you are trying to restore from is part of a striped backup set. In order to restore this file you will need to provide both parts of the stripe.

    In order to determine the additional stripe name run the following query:

    SELECT physical_device_name

    FROM msdb..backupmediafamily

    WHERE media_set_id =

    ( SELECT media_set_id

    FROM msdb..backupmediafamily

    WHERE msdb..backupmediafamily.physical_device_name = 'f:\mssql\backup\DBATEST.bak'

    )

    Once you have both stripes you can restore using the following syntax:

    RESTORE DATABASE DBATEST FROM DISK='f:\mssql\backup\DBATEST.bak', DISK='STRIPE2FILENAME'

  • when I'm execting

    SELECT physical_device_name

    FROM msdb..backupmediafamily

    WHERE media_set_id =

    ( SELECT media_set_id

    FROM msdb..backupmediafamily

    WHERE msdb..backupmediafamily.physical_device_name = 'f:\mssql\backup\DBATEST.bak'

    )

    I'm getting empty result .. Can you help more please?

  • This was a query only suited for the example given at the beginning of the thread.  If there is one stripe of the backup file called 'f:\mssql\backup\DBATEST.bak' this query will find the other stripe.  What are you hoping that this Query will do for you?  If you want to find additional stripes simply replace 'f:\mssql\backup\DBATEST.bak' with the physical path to one of your stripes.

  • From the thread on this issue on MSDN forum (http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=544902&SiteID=1) I understand you must have added a second backup name in the destination list. If you do this, SQL2000 divides the database backup between the two files.

    We had a similar issue here. A user executed some testcases, and in a first stage, he found about half of them in error. So he populated a database with the other half, and backed it up under the name <testcase>.

    After some procedure changes, he retested the other half, and found the results correct. He then populated the database "<testcase>" again, but now with the cases that failed previously. He must then have added a backup called "<testcase> part 2", in the conviction that this would create a new bak file, containing the new version of the db, while the other file "<testcase"> still contained the first version.

    Instead, SQL server 2000 overwrote "<testcase>" with part of the new version, and wrote the other part to "<testcase> part 2". Issue now is the user only stored the latter file to a network share, and now left the company. This way, wa still have the old version of <"testcase"> that held the first set of cases, but we can't restore the version with the second set, as "<testcase>" (version part of the family of db version 2) is missing...

Viewing 5 posts - 1 through 4 (of 4 total)

You must be logged in to reply to this topic. Login to reply