mira, la sintaxis de la query sql que tenes que disparar desde el delphi es la siguiente
Código SQL
[-]
BackUp database basededatos
to disk = 'c:\archivo_backup'
with format
Asi Haces el backUp de la base y lo guardas en el archivo, el tema es que el archivo se hace referencia (esto creo que es asi) de la maquina que opera como motor del sql.
la sintaxis del restore es similar
Código SQL
[-]
Restore database basededatos
frim disk = 'c:\archivo_backup'
Pero esta ultima no la he podido correr desde la misma aplicación, me dice que estoy manteniendo demasiadas conexiones sobre la base de datos. es por eso lo del titulo!!!!
si alguien sabe cual puede ser el problema, se lo agradezco.
seguido les paso el código de lo que estoy haciendo para el restore
gracias y suerte!!
Código Delphi
[-]
procedure TfmPrincipal.LevantarBackUp1Click(Sender: TObject);
begin
AbrirBackUp.InitialDir := PathAplicacion + '\backup\';
if AbrirBackUp.Execute then
if (trim(AbrirBackUp.FileName) <> '') then
begin
dmPrincipal.Conexion.Connected := false;
dmPrincipal.Conexion.ConnectionString := StringReplace(UpperCase(dmPrincipal.Conexion.ConnectionString),'BASEDEDATOS','master',[rfReplaceAll]);
dmPrincipal.Conexion.Connected := true;
SP_Levantar_BackUP.Close;
SP_Levantar_BackUP.Parameters.ParamByName('@nombre').Value := PathAplicacion + '\backup\'+AbrirBackUp.FileName;
SP_Levantar_BackUP.ExecSQL;
if dmPrincipal.Conexion.Errors.Count > 0 then
ShowMessage('NO SE A LEVANTADO EL BACKUP.'+CHR(10)+CHR(13)+'COMPRUEBE QUE NO EXISTAN CONEXIONES A LA BASE DE DATOS');
dmPrincipal.Conexion.Connected := false;
dmPrincipal.Conexion.ConnectionString := StringReplace(UpperCase(dmPrincipal.Conexion.ConnectionString),'MASTER','BASEDEDATOS',[rfReplaceAll]);
dmPrincipal.Conexion.Connected := true;
end;
end;