Restore.ReadMediaHeader Method

Reads the media header and returns the media header values.

Namespace:  Microsoft.SqlServer.Management.Smo
Assembly:  Microsoft.SqlServer.SmoExtended (in Microsoft.SqlServer.SmoExtended.dll)

public DataTable ReadMediaHeader(
	Server srv
)

Parameters

srv
Type: Microsoft.SqlServer.Management.Smo.Server
A Server object that represents the instance of SQL Server that provides access to the targeted media.

Return Value

Type: System.Data.DataTable
A DataTable object that specifies the media header data.

For information about the media contents, see, see RESTORE HEADERONLY (Transact-SQL).

The following code example demonstrates how to back up file for the AdventureWorks2008R22008R2 database and read the header values of the backup media.

VB

Dim srv As Server = New Server()
Dim res As Restore = New Restore()
Dim backup As Backup = New Backup()
Dim dt As DataTable

backup.Devices.AddDevice("C:\AdventureWorks2008R22008R2Backup.bak", DeviceType.File)
backup.Database = "AdventureWorks2008R22008R2"
backup.Action = BackupActionType.Database
backup.Initialize = True
backup.SqlBackup(srv)

res.Devices.AddDevice("C:\AdventureWorks2008R22008R2Backup.BAK", DeviceType.File)
dt = res.ReadMediaHeader(srv)

For Each r As DataRow In dt.Rows
   For Each c As DataColumn In dt.Columns
      Console.WriteLine(c.ToString + " = " + r(c).ToString())
   Next
Next

PowerShell

$srv = new-object Microsoft.SqlServer.Management.Smo.Server("(local)")
$res = new-object Microsoft.SqlServer.Management.Smo.Restore
$backup = new-object Microsoft.SqlServer.Management.Smo.Backup

$backup.Devices.AddDevice("C:\AdventureWorks2008R2Backup.bak", [Microsoft.SqlServer.Management.Smo.DeviceType]::File)
$backup.Database = "AdventureWorks2008R2"
$backup.Action = [Microsoft.SqlServer.Management.Smo.BackupActionType]::Database
$backup.Initialize = $TRUE
$backup.SqlBackup($srv)

$res.Devices.AddDevice("C:\AdventureWorks2008R2Backup.bak", [Microsoft.SqlServer.Management.Smo.DeviceType]::File)
$dt = $res.ReadMediaHeader($srv)

foreach($r in $dt.Rows)
{
   foreach ($c in $dt.Columns)
   {
      Write-Host $c "=" $r[$c]
   }
}

Community Additions

ADD
Show: