سلام
موضوع کار شما در ساده ترین حالت ممکن دو حالت داره
اول اینکه در یه شبکه کوچیک دیتابیستون توی یکی از سیستم ها به استراک گذاشته بشه و دستور بروز رسانی یا کپی از اونجا انجام بشه
مثال
برای سیستم اصلی یه ای پی ثابت تعریف کنی از نوع محلی و توی پوشه ای اونو به اشتراک گذاشته و همه دسترسی ها رو تیک بزنید
private static string conected2 = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\192.168.135.1\newfolder\database.accdb"
راه دوم میبایست دیتابیس رو توی یه سرور اپلود کنی
ابتدا باید کاربر شما از دیتابیسش یه بک اپ بگیره
BACKUP DATABASE DatabaseName
TO DISK = 'path\DatabaseName_Backup.bak'
WITH FORMAT, COPY_ONLY
//سپس دیتابیس شما که توی سرور هستش رو جایگزین کنه
یعنی ادرس رور رو توی باتن کاربر قرار بدی یا با متغییری توی تکست باکس جایگیزین کنی
public void BackupDatabase(SqlConnectionStringBuilder csb, string destinationPath)
{
ServerConnection connection = new ServerConnection(csb.DataSource, csb.UserID, csb.Password);
Server sqlServer = new Server(connection);
Backup bkpDatabase = new Backup();
bkpDatabase.Action = BackupActionType.Database;
bkpDatabase.Database = csb.InitialCatalog;
BackupDeviceItem bkpDevice = new BackupDeviceItem(destinationPath, DeviceType.File);
bkpDatabase.Devices.Add(bkpDevice);
bkpDatabase.SqlBackup(sqlServer);
connection.Disconnect();
}
اینم یه سمپل
https://www.codeproject.com/KB/database/994806/SqlDbClonerSource.zip
در مرحله بعدی دیتابیسی که از سرور ازش بک اپ گرفتهشده رو ری استور کنه
public void RestoreDatabase(String databaseName, String backUpFile, String serverName, String userName, String password)
{
ServerConnection connection = new ServerConnection(serverName, userName, password);
Server sqlServer = new Server(connection);
Restore rstDatabase = new Restore();
rstDatabase.Action = RestoreActionType.Database;
rstDatabase.Database = databaseName;
BackupDeviceItem bkpDevice = new BackupDeviceItem(backUpFile, DeviceType.File);
rstDatabase.Devices.Add(bkpDevice);
rstDatabase.ReplaceDatabase = true;
rstDatabase.SqlRestore(sqlServer);
}