Backup z SMO
[Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.SMO") [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.SMO") [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.SmoExtended") [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.ConnectionInfo") [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.SmoEnum") $SqlServer = New-Object Microsoft.SqlServer.Management.Smo.Server 'localhost' $backup = New-Object Microsoft.SQLServer.Management.Smo.Backup $backup.Database = "master" $backup.Devices.AddDevice('c:\temp\master.bak',[Microsoft.SqlServer.Management.Smo.DeviceType]::File) $backup.Action = [Microsoft.SqlServer.Management.Smo.BackupActionType]::Database $backup.SqlBackup($SqlServer)
Backup z cmdlet Backup-SqlDatabase
Dalej zakładam, że odpowiedznie biblioteki są już załadowane
Import-Module sqlps
Backup-SqlDatabase -ServerInstance localhost -Database "master" `
-BackupAction Database -BackupFile c:\temp\master.bak
Litowanie baz danych z SMO
$SqlServer = New-Object Microsoft.SqlServer.Management.Smo.Server 'localhost'
$SqlServer.Databases
Listowanie baz danych z napędu SQLSERVER:\
ls SQLSERVER:\SQL\SQL01\Default\Databases -Force
Pobranie informacji o serwerze – SMO
$SqlServer.Information.Properties | ft name, value -AutoSize
Pobranie informacji o serwerze – napęd SQLSERVER:\
Get-Item -Path sqlserver:\sql\SQL01\DEFAULT | FL *