Microsoft sql server ошибка 3241

Проблемы

В Microsoft SQL Server 2019 восстановление сжатых резервных копий баз данных или резервных копий журналов баз данных с включенным прозрачным шифрованием данных (TDE) может привести к следующей ошибке:

Msg 3241, уровень 16, состояние 18, строка <номер строки>

Семейство носителей на устройстве «<имени файла резервной копии>» имеет неправильный формат. SQL Server не может обработать это семейство носителей.

Обходное решение

Чтобы обойти эту проблему, не сжимайте резервные копии баз данных с поддержкой TDE одним из следующих методов:

  • Используйте WITH COMPRESSION, как описано в инструкции BACKUP (Transact-SQL).

  • Используйте сжатие резервных копий по умолчанию, как описано в разделе «Просмотр» или «Настройка параметра конфигурации сервера для сжатия резервных копий по умолчанию».

Решение

Сведения о накопительном пакете обновления

Эта проблема устранена в следующем накопительном обновлении для SQL Server:

Накопительный пакет обновления 16 для SQL Server 2019

Примечание. Чтобы избежать этой проблемы, необходимо создать резервные копии вместе с этим исправлением. Установка фиксированного накопительного пакета обновления на целевом экземпляре и попытка восстановить ту же резервную копию, созданную без исправления, не будет работать.

Дополнительная информация

Важно: Начиная с SQL Server 2019 с накопительным пакетом обновления 16 (CU16), при создании сжатых резервных копий (базы данных или журнала) баз данных с поддержкой TDE будет использоваться новый формат резервного копирования, который можно восстановить только в экземпляре с установленным накопительным пакетом обновления 16 (CU16) или более поздней версии.

Восстановление сжатой резервной копии базы данных с поддержкой TDE, созданной в накопительном пакете обновления 16 или более поздней версии на экземпляре SQL Server 2019 версии CU15 или более ранней версии, завершается сбоем и вызывает следующие ошибки:

  • RESTORE DATABASE

    Msg 3013, level 16, State 1, Line <LineNumber>

    Инструкция RESTORE DATABASE завершается аномально.

    Msg 9004, level 21, State 1, Line <LineNumber>

    При обработке журнала для базы данных «TDE_DB» произошла ошибка. По возможности выполните восстановление из резервной копии. Если резервная копия недоступна, может потребоваться перестроить журнал.

  • RESTORE LOG

    Расположение: mediaRead.cpp:1018

    Выражение: readSize <= m_Demand

    SPID: 84

    Идентификатор процесса: ProcessID

    Msg 3013, level 16, State 1, Line <LineNumber>

    Инструкция RESTORE LOG завершается аномально.

    Msg 3624, level 20, State 1, Line <LineNumber>

    Сбой проверки системного утверждения. Дополнительные сведения см. в журнале ошибок SQL Server. Как правило, сбой утверждения вызван ошибкой программного обеспечения или повреждением данных. Чтобы проверить наличие повреждения базы данных, попробуйте выполнить инструкцию DBCC CHECKDB. Если вы согласились отправлять дампы в корпорацию Майкрософт во время установки, мини-дамп будет отправлен в корпорацию Майкрософт. Обновление может быть доступно корпорацией Майкрософт в последнем пакете обновления или в исправлении из службы технической поддержки.

Примечание. Инструкции RESTORE HEADERONLY и RESTORE FILELISTONLY не затрагиваются проблемой и будут работать во всех случаях.

Инструкция RESTORE VERIFYONLY может успешно вернуться для полной резервной копии, которая является недопустимой в соответствии с описанным выше сценарием: не следует полагаться на инструкцию RESTORE VERIFYONLY, чтобы убедиться, что резервную копию можно восстановить, не нажав указанную выше проблему. Инструкция RESTORE VERIFYONLY для резервной копии журнала обычно завершается сбоем с той же ошибкой, что и в фактическом журнале RESTORE, описанном выше.

Поэтому важно убедиться, что в контексте, где может быть включено Сжатие TDE и резервного копирования, все экземпляры SQL Server 2019, использующие резервные копии из других экземпляров SQL Server 2019, получают накопительный пакет обновления 16 (или более поздней версии) до экземпляров, создающих резервный материал. Архитектура доставки журналов будет простым примером такой ситуации: сначала обновите вторичные экземпляры.

После создания резервной копии журнала транзакций со сжатием ее обычно невозможно воссоздать без сжатия. Таким образом, обновление сервера-источника доставки журналов до SQL Server 2019 с накопительным пакетом обновления 16 (CU16) или более поздней версии в таком контексте приведет к разрыву заданий восстановления до обновления сервера-получателя.

Несжатая резервная копия базы данных с поддержкой TDE, сжатая резервная копия базы данных, которая не включена для TDE, или несжатая резервная копия базы данных, которая не включена для TDE, не будет использовать новый формат резервной копии, представленный в накопительном пакете обновления 16, и может быть восстановлен в экземпляре SQL Server 2019 любых версий.

Поэтому необходимо отключить сжатие резервных копий, если вы планируете восстановить материал базы данных с поддержкой TDE (полное резервное копирование или резервное копирование журнала транзакций) на любые экземпляры SQL Server более ранних версий до SQL Server 2019 CU16.

Статус

Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе «Применяется к».

Ссылки

Сведения о терминологии, используемой корпорацией Майкрософт для описания обновлений программного обеспечения.

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

В сообществах можно задавать вопросы и отвечать на них, отправлять отзывы и консультироваться с экспертами разных профилей.

SQL Server 2008 R2 Service Pack 2 SQL Server 2008 R2 Datacenter SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Standard Еще…Меньше

Симптомы

Предположим, что одно из указанных ниже обновлений были установлены на компьютер с Microsoft SQL Server 2008 R2 или установлен Microsoft SQL Server 2012:

  • 6 накопительное обновление для SQL Server 2008 R2 Пакет обновления 1 (SP1) или более поздней версии

  • Накопительное обновление 1 для SQL Server 2008 R2 Пакет обновления 2 (SP2) или более поздней версии


В этом случае запустите инструкцию RESTORE FILELISTONLY для восстановления базы данных в SQL Server 2008 R2. Тем не менее происходит сбой операции восстановления. Кроме того появляется следующее сообщение об ошибке:

Сообщение 3241, уровень 16, состояние 1, строка 1
Семейство носителей на устройстве «<BackupFilePath>» сформировано неправильно. SQL Server не удается обработать семейства носителей.
Сообщение 3013, уровень 16, состояние 1, строка 1
ВОССТАНОВЛЕНИЕ FILELIST завершается аварийно.


Примечание При запуске Инструкции DBCC CHECKDB в ранних сборках SQL Server 2008 R2, возникают ошибки не согласованности, указывает на проблемы в носителе резервной копии. Следовательно резервная копия может быть восстановлена в этих ранних версиях.

Причина

Эта проблема возникает из-за накопительного обновления 1 для SQL 2008 R2 с пакетом обновления 2 и 5 накопительного обновления для SQL Server 2008 R2 SP1 выполнять проверку полноты базы данных при восстановлении базы данных. Тем не менее такая проверка не является обязательным для инструкцию RESTORE FILELISTONLY .

Эта проверка было включено в исправления, описанные в КБ 2685132. Дополнительные сведения о проверке полноты базы данных щелкните следующий номер статьи 2685132 в статье 2685132 базы знаний Майкрософт:

ИСПРАВИТЬ 2685132 : задание восстановления доставки журналов восстановление резервной копии журнала транзакций повреждены базы данных-получателя при выполнении задания резервного копирования на экземпляре SQL Server 2008 R2 или экземпляр SQL Server 2012 доставки журналов

Решение

Информация о накопительном пакете обновления

Накопительное обновление 9 для SQL Server 2012

Исправление, устраняющее эту проблему, сначала было выпущено в накопительное обновление 9. Дополнительные сведения о том, как получить этот накопительный пакет обновления для SQL Server 2012, щелкните следующий номер статьи базы знаний Майкрософт:

2867319 накопительного обновления 9 для SQL Server 2012Примечание. Поскольку построения являются накопительными, каждый новый выпуск исправление содержит все исправления и все исправления, входившие в состав предыдущих 2012 SQL Server исправления выпуска. Мы рекомендуем рассмотреть применение последнего выпуска исправления, содержащего это исправление. Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:

2692828 SQL Server 2012 выполняется построение, выпущенных после выпуска SQL Server 2012

Накопительного обновления 5 для SQL Server 2012 Пакет обновления 1

Исправление этой уязвимости первого выпуска накопительного обновления 5. Дополнительные сведения о том, как получить этот накопительный пакет обновления для SQL Server 2012 Пакет обновления 1 щелкните следующий номер статьи базы знаний Майкрософт:

2861107 накопительного обновления 5 для SQL Server 2012 Пакет обновления 1Примечание. Поскольку построения являются накопительными, каждый новый выпуск исправление содержит все исправления и все исправления безопасности, которые были включены в Пакет обновления 1 для предыдущего SQL Server 2012 выпуска исправлений. Мы рекомендуем рассмотреть применение последнего выпуска исправления, содержащего это исправление. Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:

2772858 SQL Server 2012 выполняется построение, выпущенных после выпуска SQL Server 2012 Пакет обновления 1

Накопительное обновление для 13 SQL Server 2008 R2 с пакетом обновления 1

Исправление этой проблемы сначала было выпущено в 13 накопительного обновления. Дополнительные сведения о том, как получить этот накопительный пакет обновления для SQL Server 2008 R2 SP1 щелкните следующий номер статьи базы знаний Майкрософт:

Пакет 13 2855792 накопительного обновления для SQL Server 2008 R2 SP1Примечание. Поскольку построения являются накопительными, каждый новый выпуск исправление содержит все исправления и все исправления, входившие в состав предыдущих SQL Server 2008 R2 SP1 исправления выпуска. Мы рекомендуем рассмотреть применение последнего выпуска исправления, содержащего это исправление. Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:

2567616 SQL Server 2008 R2 выполняет построение, выпущенных после выпуска SQL Server 2008 R2 Пакет обновления 1

Накопительного обновления 7 для SQL Server 2008 R2 с пакетом обновления 2

Исправление этой уязвимости первого выпуска накопительного обновления 7. Дополнительные сведения о том, как получить этот накопительный пакет обновления для SQL Server 2008 R2 с пакетом обновления 2, щелкните следующий номер статьи базы знаний Майкрософт:

2844090 накопительного обновления 7 для SQL Server 2008 R2 с пакетом обновления 2Примечание. Поскольку построения являются накопительными, каждый новый выпуск исправление содержит все исправления и все исправления, входившие в состав предыдущих SQL Server 2008 R2 с пакетом обновления 2 выпуска исправлений. Мы рекомендуем рассмотреть применение последнего выпуска исправления, содержащего это исправление. Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:

2730301 SQL Server 2008 R2 выполняет построение, выпущенных после выпуска SQL Server 2008 R2 Пакет обновления 2

Статус

Корпорация Майкрософт подтверждает, что это проблема продуктов Майкрософт, перечисленных в разделе «Относится к».

Временное решение

Чтобы обойти эту проблему, запустите инструкцию RESTORE FILELISTONLY , а также параметр CONTINUE_AFTER_ERROR .

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

В сообществах можно задавать вопросы и отвечать на них, отправлять отзывы и консультироваться с экспертами разных профилей.

Summary:
SQL database error 3241 is a media-related error that occurs when restoring a database from a backup. This error is usually caused due to a corrupted backup file. Read this blog for complete details on the error. Also, learn about the most effective solutions to fix the 3241 SQL error. You can also use a backup extractor tool to extract data from the corrupted backup and restore the database.

Free Download for Windows

Contents

  • What Causes SQL Database Error 3241, ‘RESTORE HEADERONLY is Terminating Abnormally’?
  • Before We Proceed
  • Solutions to Resolve SQL Database Error 3241
  • Alternative Solution to Restore Database from Backup
  • End Note

At times, when restoring a SQL Server database from a backup, you might encounter the 3241 error along with an error message ‘RESTORE HEADERONLY is terminating abnormally’.

sql database error 3241 restore headeronly terminating abnormally

What Causes SQL Database Error 3241, ‘RESTORE HEADERONLY is Terminating Abnormally’?

The error is caused when a backup file you are trying to restore gets corrupt due to an issue with the hardware (i.e., hard disks, network storage, etc.) or because of a malware attack. Also, you may encounter the error if you restore a backup from a recent version of SQL Server to an earlier version of SQL Server.

Note: If you get error 3241 when executing the ‘RESTORE FILELISTONLY’ statement, the error is caused due to a bug in SQL Server. To resolve the issue, install the cumulative updates released by Microsoft. For more information, read this KB.

Before We Proceed

Before attempting the solutions to troubleshoot the error, ensure the backup is readable by running the following T-SQL statement:

RESTORE VERIFYONLY FROM DISK=’ <path_to_your_backup>.BAK’

This command will check the backup file and returns a message stating whether the backup is useable or not.

If there is no problem with the backup, check your Windows System event logs for any hardware-related or networking issues. Also, ensure that you’re not restoring a database from a backup created on a higher version of SQL Server to a lower version.

If there is some issue with the backup file, proceed with implementing the following solutions.

Solutions to Resolve SQL Database Error 3241

Here’s what you can do to fix the error 3241 – that occurs due to corruption in the backup set:

  • Locate another valid backup file to restore the database
  • Create a new backup if the database is accessible

Alternative Solution to Restore Database from Backup

If you fail to restore the backup correctly, try to extract data from the corrupted backup (BAK) file using Stellar Repair for MS SQL Technician. The software provides a backup extractor tool to help the users recover data from a corrupt BAK file easily and quickly. After extracting the backup data, the software saves the data in a new or an existing database. You can evaluate the software functionality by downloading the demo version from the link below.

Stellar

For detailed steps on using the backup extractor tool for data recovery, read this: How to Recover SQL Server Database from a Corrupt Backup File?

Stellar Repair for MS SQL Technician also comprises tools to repair a corrupt SQL database MDF, NDF files. Also, it provides a utility to reset the lost or forgotten password of master.mdf file.

End Note

You might fail to perform a backup and restore operation on a SQL Server database. And, get an error message that reads: ‘Restore HEADERONLY is terminating abnormally, Microsoft SQL Server error 3241’.  It happens when the backup you’re trying to restore is corrupt. In that case, check if you have any other backup copy you can use to restore the database or create a new backup set. If the issue persists, use Stellar Backup Extractor for MS SQL to retrieve data from a backup file.

Once you’ve retrieved your backup data and restored the database, you must prevent the 3241 media error from reoccurring. For this, do the following:

  • To avoid backing up a corrupt database, ensure that the Backup CHECKSUM option is enabled. For more information, see Possible Media Errors During Backup and Restore (SQL Server).
  • Use trace flag 3023 to enable CHECKSUM option when using backup utilities to perform a backup; this will ensure that the data is backed up in a healthy state. Besides, generation of backup checksum during a restore process ensures that the backup media is not damaged when transferring a copy of the SQL database.

About The Author

Charanjeet Kaur

Charanjeet is a Technical Content Writer at Stellar®who specializes in writing about databases, e-mail recovery, and e-mail migration solutions. She loves researching and developing content that helps database administrators, organizations and novices to fix multiple problems related to MS SQL and MySQL databases and Microsoft Exchange.

Asked
9 years, 9 months ago

Viewed
4k times

when i was restore database in sql server 2012 this error happend

Msg 3241, Level 16, State 0, Line 3
The media family on device ‘D:Program FilesMicrosoft SQL ServerMSSQL11.MSSQLSERVERMSSQLBackupTest.bak’ is incorrectly formed. SQL Server cannot process this media family.
Msg 3013, Level 16, State 1, Line 3
RESTORE HEADERONLY is terminating abnormally.

what should i do?

asked Sep 3, 2013 at 12:23

What version of SQL Server did you take this backup from? Usually you get this error when you are trying to restore a backup taken on a higher version of SQL Server (Such as 2012) onto a lower version (Such as 2008 R2).

If that is the case, you will need to script out your database and recreate it on the new server rather than simply backing up and restoring.

If the file has not come from a newer version of SQL server than the one you are trying to restore it onto, it is possible that the file has simply been corrupted, at which point you should try to take a new backup if possible. If you are attempting to restore across the network, you should also check permissions to make sure that this is not causing your issue too.

answered Nov 7, 2013 at 10:49

steoleary's user avatar

Charanjeet Kaur

Charanjeet is a Technical Content Writer at Stellar®who specializes in writing about databases, e-mail recovery, and e-mail migration solutions. She loves researching and developing content that helps database administrators, organizations and novices to fix multiple problems related to MS SQL and MySQL databases and Microsoft Exchange.

Asked
9 years, 9 months ago

Viewed
4k times

when i was restore database in sql server 2012 this error happend

Msg 3241, Level 16, State 0, Line 3
The media family on device ‘D:Program FilesMicrosoft SQL ServerMSSQL11.MSSQLSERVERMSSQLBackupTest.bak’ is incorrectly formed. SQL Server cannot process this media family.
Msg 3013, Level 16, State 1, Line 3
RESTORE HEADERONLY is terminating abnormally.

what should i do?

asked Sep 3, 2013 at 12:23

What version of SQL Server did you take this backup from? Usually you get this error when you are trying to restore a backup taken on a higher version of SQL Server (Such as 2012) onto a lower version (Such as 2008 R2).

If that is the case, you will need to script out your database and recreate it on the new server rather than simply backing up and restoring.

If the file has not come from a newer version of SQL server than the one you are trying to restore it onto, it is possible that the file has simply been corrupted, at which point you should try to take a new backup if possible. If you are attempting to restore across the network, you should also check permissions to make sure that this is not causing your issue too.

answered Nov 7, 2013 at 10:49

steoleary's user avatar

steolearysteoleary

8,9282 gold badges33 silver badges47 bronze badges

Hi All,

Several weeks ago I created a compressed back up in ms sql 2008 enterprise version.  I am trying to experiment with the Restore capability and getting the BELOW error.  I am trying to restore the database using the Restore Database GUI.

The database size was 250GB and after creating the backup it became 104GB. I selected the database From a Device option. I created this backup on Windows 2008 and copied that file into my Vista Ultimate computer and trying to restore at that computer.

When I go to the actual server to restore the database it seems it picks up the right database without getting any error. But I don’t want to take any chance and I want to test this backup in a different computer, with ms sql 2008?

What Am I missing?

The media family on device ‘I:HumanFindersDrive_ESQL_BackupHumanFindHumanFind_20090321’ is incorrectly formed. SQL Server cannot process this media family.
RESTORE HEADERONLY is terminating abnormally. (.Net SqlClient Data Provider)
MicroSoft SQL Server, Error: 3241

Thanks,

Doron

An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)

——————————
Program Location:

   at Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteWithResults(String sqlCommand)
   at Microsoft.SqlServer.Management.Smo.ExecutionManager.ExecuteWithResults(String query)
   at Microsoft.SqlServer.Management.Smo.BackupRestoreBase.ExecuteSqlWithResults(Server server, String cmd)
   at Microsoft.SqlServer.Management.Smo.Restore.ReadBackupHeader(Server srv)
   at Microsoft.SqlServer.Management.SqlManagerUI.SqlRestoreDatabaseGeneral.buttonSelectDevice_Click(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ButtonBase.WndProc(Message& m)
   at System.Windows.Forms.Button.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

===================================

The media family on device ‘I:HumanFindersDrive_ESQL_BackupHumanFindHumanFind_20090321’ is incorrectly formed. SQL Server cannot process this media family.
RESTORE HEADERONLY is terminating abnormally. (.Net SqlClient Data Provider)

——————————
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=09.00.3042&EvtSrc=MSSQLServer&EvtID=3241&LinkId=20476

——————————
Server Name: DORON
Error Number: 3241
Severity: 16
State: 0
Line Number: 1

——————————
Program Location:

   at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
   at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
   at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
   at System.Data.SqlClient.SqlDataReader.ConsumeMetaData()
   at System.Data.SqlClient.SqlDataReader.get_MetaData()
   at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
   at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
   at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
   at System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
   at System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)
   at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
   at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
   at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet)
   at Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteWithResults(String sqlCommand)

Возможно, вам также будет интересно:

  • Microsoft sql server ошибка 15517
  • Microsoft sql server ошибка 15405
  • Microsoft sql server ошибка 15404
  • Microsoft sql server ошибка 15247
  • Microsoft sql server ошибка 15150

  • Понравилась статья? Поделить с друзьями:
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии