***** Exemplo para exibir o Script T-SQL do Backup via SQL-DMO pelo VFP. LOCAL oBackup AS 'SQLDMO.Backup' LOCAL oServer AS 'SQLDMO.SqlServer' oServer = CREATEOBJECT('SQLDMO.SqlServer') oServer.CONNECT("BOSS700","sa", "sa") oBackup = CREATEOBJECT('SQLDMO.Backup') oBackup.Action = 0 oBackup.DATABASE = "Atuante" oBackup.FILES = '[C:\Arquivos de programas\Microsoft SQL Server\MSSQL\BACKUP\Backup_SQL_DMO.BAK]' oBackup.Devices = [Dispositivo1] && Tem que existir previamente...(Atenção) oBackup.BackupSetName = "MeuBackup" oBackup.BackupSetDescription = "Backup feito via SQL DMO pelo VFP" oBackup.Initialize = .F. Script_Tsql = oBackup.GenerateSQL ?Script_Tsql* PS: oBackup.Devices = [Dispositivo1] && Tem que existir previamente...(Atenção)
***** Exemplo de Backup LOCAL oBackup AS 'SQLDMO.Backup' LOCAL oServer AS 'SQLDMO.SqlServer' oServer = CREATEOBJECT('SQLDMO.SqlServer') oServer.CONNECT("BOSS700","sa", "sa") oBackup = CREATEOBJECT('SQLDMO.Backup') WITH oBackup .Initialize = .T. && Sobrescreve o Dispositivo de backup se for .T. e Adiciona se form .F. .Action = 0 && 0 = Banco de dados ; 1 = Incremental ; 2 = Arq. especificados ; 3 = Transaction Log .DATABASE = "Atuante" .FILES = '[C:\Arquivos de programas\Microsoft SQL Server\MSSQL\BACKUP\Backup_SQL_DMO.BAK]' .BackupSetName = "MeuBackup" .BackupSetDescription = "Backup feito via SQL DMO pelo VFP" .GenerateSQL .SQLBackup(oServer) && Inicia o backup (Só p/ Action = 0 ou 3) ENDWITH
****** Exemplo de Restore (modelo, pois depende do N° de LOG's) LOCAL oRestore AS 'SQLDMO.Restore' LOCAL oServer AS 'SQLDMO.SqlServer' oServer = CREATEOBJECT('SQLDMO.SqlServer') oServer.CONNECT("BOSS700","sa", "sa") oRestore.Action = 0 && 0 = Banco de Dados ; 1 = Arquivos ; 2 = Log oRestore.Devices = [Dispositivo1]&& Backup de Dispositivo e não de arquivo... oRestore.FileNumber = 1 && Pegar o 1° arquivo armazenado no dispositivo (Banco de dados) oRestore.Database = "Atuante" && Nome do banco de dados oRestore.ReplaceDatabase = .T. && Sobrescreve os dados existentes oRestore.LastRestore = .F. && Define que não é o ultimo restore de Log oRestore.SQLRestore(oServer) && Executa o Restore p/ o banco de dados oRestore.Action = 2 && Restaurar LOG oRestore.FileNumber = 2 && Pegar o 2° arquivo do dispositivo definido acima oRestore.LastRestore = .F. && Define que não é o ultimo restore de Log (Reforçar) oRestore.SQLRestore(oServer) && Executa o Restore p/ o arquivo de LOG * Repetir até o ultimo arq. LOG desejado, então no ultimo ... oRestore.FileNumber = 3 && Pegar o 3° arquivo do dispositivo definido acima oRestore.LastRestore = .T. && Define que é o ultimo restore de LOG oRestore.SQLRestore(oServer) && Executa o Restore p/ o arquivo de LOG (Ultimo)[ ]'s