Obtendo dados deste arquivo bak do MS SQL

1

Os seguintes comandos

restore filelistonly from disk = 'C:\....bak'
restore verifyonly from disk = 'C:\....bak'

produza este erro

The media family on device 'C:\...bak' is incorrectly formed. SQL Server cannot process this media family.

Este comando

restore headeronly from disk = 'C:\....bak'

produz

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
*** INCOMPLETE ***  NULL    NULL    NULL    NULL    1   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL

Eu verifiquei que o arquivo .bak realmente veio de um Microsoft SQL Server. Não é criptografado. É duvidoso que tenha sido criado a partir do Microsoft SQL Server 2012 porque o sistema antigo tinha vários anos. A importação foi tentada usando uma instalação temporária em uma máquina Vista com o SQL Server 2008 R2.

O objetivo é obter os dados em um banco de dados diferente (por exemplo, usando ODBC) ou em um tipo de dados simples ( .csv , .sql , .xml , etc) para podermos criar uma importação programa para.

Você sugere um método diferente do TSQL para executar essa importação?

Você tem uma explicação alternativa para a mensagem de erro? Eu não estou inclinado a adivinhar se devo tentar novamente em uma versão mais recente ou mais antiga do SQL Server, porque cada reinstalação leva um tempo significativo, o que é um recurso limitado.

    
por George Bailey 25.07.2012 / 23:23

3 respostas

3

Se essa não for uma incompatibilidade de versão, o arquivo de backup poderá estar corrompido.

Se este for o caso, você não poderá (pelo menos facilmente) recuperar nada dele.

    
por 25.07.2012 / 23:30
2

Tem certeza de que o backup consistiu em um arquivo?

Se você tiver o espaço livre no servidor de origem que o backup veio (supondo que ele ainda esteja operacional), você poderá tentar restaurar o backup em um novo banco de dados para confirmar que o backup é bom

    
por 25.07.2012 / 23:41
0

O cabeçalho do arquivo está corrompido ou é um dos arquivos de um conjunto de backup em que o backup deve ser distribuído em vários arquivos.

Você precisará obter um novo backup do banco de dados ou precisará obter os outros arquivos do conjunto de backup.

    
por 26.07.2012 / 05:42