Levelcode-IBRCAD/FFT/backups.cs

58 lines
1.6 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient;
using System.IO;
using DAL;
namespace FFT
{
public class backups
{
public static bool BackupDatabase(string databaseName,string folder)
{
string backupFolderPath =folder;
string backupFilePath = backupFolderPath + databaseName + ".db";
try
{
// Verifica se a pasta de backup existe, se não, tenta criá-la
if (!Directory.Exists(backupFolderPath))
{
Directory.CreateDirectory(backupFolderPath);
}
string connectionString = DadosDaConexao.StringDeConexao;
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
string backupQuery = $"BACKUP DATABASE [{databaseName}] TO DISK = '{backupFilePath}'";
using (SqlCommand command = new SqlCommand(backupQuery, connection))
{
command.ExecuteNonQuery();
}
return true;
}
}
catch (Exception ex)
{
Console.WriteLine($"Error backing up database: {ex.Message}");
return false;
}
}
static void Main(string[] args)
{
// Chame a função de backup aqui, por exemplo:
// BackupDatabase("NomeDoSeuBancoDeDados");
}
}
}