سلام دوستان
من از کدی که برای بکاپ کیری از دیتابیسم استفاده می کنم موقعی که ریستور می شه ساختار دیتابیس رو هم در صورت عوض شدن ساختار (کم و زیاد شدن فیلد ها یا نوع و هر تغییر ساختاری)تغییر می ده .
از انجای کاربران از دیتابیس قدیمی تر استفاده می کنند و با آپدیت برنامه ممکن هست تو ساختار دیتابیس هم تغییراتی ایجاد بشه. می خوام به نحوی بکاپ تهیه شود که بعدا در صورت ریستور کردن دیتابیس رو به حالت قبلی برنگرداند.
چطور می تونم این کار رو بکنم؟
این هم کدی که برای بکاپ گیری استفاده می کنم.
البته من این سوال رو تو تالار vb.net هم مطرح کردم و از آنجای که به نتیجه نرسیدم گفتم از برنامه نویس های C# کمک بگیرم(مدیرای تالار لطفا این تاپیک رو حذف نکنید)
'پشتیبان گیری از بانک
Dim shams AsString = shamsi()
shams = shams.Replace("/", "-")
Dim str_name_backup AsString = shams & "__Tala.bak"
Dim DevicePath AsString
With SaveFileDialog1
.FileName = str_name_backup
.DefaultExt = "bak"
.Filter = "DateBase Backup File(*.bak)|*.bak"
.OverwritePrompt = True
EndWith
If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
DevicePath = SaveFileDialog1.FileName
IfMy.Computer.FileSystem.FileExists(DevicePath) Then Kill(DevicePath)
con.Close()
con.Open()
Dim Srvcon AsNew ServerConnection(con)
Dim Srv AsNew Server(Srvcon)
' Create backup device item for the backup
Dim bdi AsNew BackupDeviceItem(DevicePath, DeviceType.File)
' Create the backup informaton
Dim Backup AsNew Backup
Backup.Devices.Add(bdi)
With Backup
'Type Of Backup
.Action = BackupActionType.Database
.BackupSetDescription = "Backup DataBase"
.BackupSetName = "DB"
.Database = con.Database.ToString()
.LogTruncation = BackupTruncateLogType.Truncate
'Backup.ExpirationDate = New DateTime(2007, 5, 1)
' Run the backup
.SqlBackup(Srv)
EndWith
MessageBoxFa.Show("عملیات تهیه فایل پشتیبان به موفقیت انجام شد ", _
name_me, MessageBoxButtons.OK)
Else
MessageBoxFa.Show(" انجام نشد ", name_me, MessageBoxButtons.OK)
EndIf
البته کد با vb هست . شما با هر زبانی توضیح بدی ممنون می شم