PDA

View Full Version : مشکل backup & restore



elmira_63
شنبه 11 خرداد 1387, 23:50 عصر
سلام دوستان
من یه هفته هست که میون این تاپیک ها دنبال یه کد برای پشتیبان گیری توی برنامم می گردم ولی از هیچ کدومش نتونستم استفاده کنم:ناراحت::ناراحت::ناراحت: آخه هر کدوم رو که کپی میکنم توی برنامم err میگیره تموم رفرنس هایی هم که گفته شده بود رو اضافه کردم
کسی نیست بتونه واضح برام این backup و restore رو توضیح بده؟؟؟؟؟؟؟؟؟؟
به خدا دیگه کلافه شدم
اللهم اجل لولیک الفرج

touraj
یک شنبه 12 خرداد 1387, 08:43 صبح
سلام دوستان
من یه هفته هست که میون این تاپیک ها دنبال یه کد برای پشتیبان گیری توی برنامم می گردم ولی از هیچ کدومش نتونستم استفاده کنم:ناراحت::ناراحت::ناراحت: آخه هر کدوم رو که کپی میکنم توی برنامم err میگیره تموم رفرنس هایی هم که گفته شده بود رو اضافه کردم
کسی نیست بتونه واضح برام این backup و restore رو توضیح بده؟؟؟؟؟؟؟؟؟؟
به خدا دیگه کلافه شدم
اللهم اجل لولیک الفرج

این چهارمین تاپیکیه که داری این مطلب رو توش مینویسی. تو یه تاپیک ادامه بده. مطمئن باش به جواب خواهی رسید. 2 بار به خاطر این موضوع تاپیک زدی. اینجوری که نمیشه.
همین تاپیکت هم مشکل داره. چون کسی که میاد و میخونه، همون کدها و همون حرفهای قبلی رو میزنه. اونوقت شما دوباره میری یه تاپیک جدید میزنی.

از کدوم ورژن SQL استفاده می کنی؟

VisualStudio
یک شنبه 12 خرداد 1387, 11:18 صبح
من یک همچین کدی دارم ببین به کارت میاد


Imports System
Imports System.Data.SqlClient
Imports Microsoft.SqlServer.Management.Common
Imports Microsoft.SqlServer.Management.Smo

Namespace CreateRANU
Class Program
Private Shared Sub Main(ByVal args As String())
BackupDatabase()
RestoreBackup()
End Sub

Public Shared Sub BackupDatabase()
Dim sConnect As String = Properties.Settings.[Default].BackupConnectionString
Dim dbName As String

Using cnn As New SqlConnection(sConnect)
cnn.Open()
dbName = cnn.Database.ToString()

Dim sc As New ServerConnection(cnn)
Dim sv As New Server(sc)

' Check that I'm connected to the user instance
Console.WriteLine(sv.InstanceName.ToString())

' Create backup device item for the backup
Dim bdi As New BackupDeviceItem("C:\AppDataBackup\SampleBackup.bak", DeviceType.File)

' Create the backup informaton
Dim bk As New Backup()
bk.Devices.Add(bdi)
bk.Action = BackupActionType.Database
bk.BackupSetDescription = "SQL Express is a great product!"
bk.BackupSetName = "SampleBackupSet"
bk.Database = dbName
bk.ExpirationDate = New DateTime(2007, 5, 1)
bk.LogTruncation = BackupTruncateLogType.Truncate

' Run the backup
bk.SqlBackup(sv)
Console.WriteLine("Your backup is complete.")
End Using
End Sub

Public Shared Sub RestoreBackup()
Dim sConnect As String = Properties.Settings.[Default].BackupConnectionString
Dim dbName As String

Using cnn As New SqlConnection(sConnect)
cnn.Open()
dbName = cnn.Database.ToString()
cnn.ChangeDatabase("master")

Dim sc As New ServerConnection(cnn)
Dim sv As New Server(sc)

' Check that I'm connected to the user instance
Console.WriteLine(sv.InstanceName.ToString())

' Create backup device item for the backup
Dim bdi As New BackupDeviceItem("C:\AppDataBackup\SampleBackup.bak", DeviceType.File)

' Create the restore object
Dim resDB As New Restore()
resDB.Devices.Add(bdi)
resDB.NoRecovery = False
resDB.ReplaceDatabase = True
resDB.Database = dbName

' Restore the database
resDB.SqlRestore(sv)
Console.WriteLine("Your database has been restored.")
End Using
End Sub

Public Shared Sub CreateDatabase()
Using cn As New SqlConnection("Data Source=.\SQLEXPRESS;Integrated Security=True;User Instance=True;Connection Timeout=60")
cn.Open()
Dim cmd As New SqlCommand("CREATE DATABASE forumTest1", cn)
cmd.ExecuteNonQuery()

Dim cn2 As New SqlConnection("Data Source=.\SQLEXPRESS;Integrated Security=True;AttachDbFilename=|DataDirectory|\for umTest1.mdf;User Instance=True;Connection Timeout=60")

cn2.Open()
End Using
End Sub
End Class
End Namespace

elmira_63
یک شنبه 12 خرداد 1387, 11:43 صبح
ببخشید
حالا بچه که زدن نداره عزیز
من تازه عضو این سایت شدم نمی دونستم اگه توی همون تاپیک قبلی یه موضوعی اضافه کنم سوالم میاد اول صفحه فکر میکردم سوالم رفت صفحه دوم دیگه کسی نگاش نمی کنه
از ورژن profesional استفاده می کنم البته اون رفرنسایی که توی تاپیکای قبلی گفته شده بود روی یه سیستم دیگه پیدا کردم و به برنامم اضافه کردم ولی این کد رو که برای backup میزنم


Imports System
Imports System.Data.SqlClient
Imports Microsoft.SqlServer.Management.Smo
Imports Microsoft.SqlServer.Management.Common

Public Class backup
Public Shared Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click
Dim DataName As String = "zaban.bak"
Dim connectionstr As String = "data source='" & ser & "';Initial Catalog=zaban;Integrated Security=True"
Using cnn As New SqlConnection(ConnectionStr)
cnn.Open()
Dim Srvcon As New ServerConnection(cnn)
Dim Srv As New Server(Srvcon)
' Create backup device item for the backup
Dim bdi As New BackupDeviceItem("f:\zaban\zaban\database" & DataName, DeviceType.File)
' Create the backup informaton
Dim Backup As New backup
Backup.Devices.Add(bdi)

With Backup
'Type Of Backup
.Action = BackupActionType.Database
.BackupSetDescription = "Backup DataBase"
.BackupSetName = "DB"
.Database = cnn.Database.ToString()
.LogTruncation = BackupTruncateLogType.Truncate
'Backup.ExpirationDate = New DateTime(2007, 5, 1)
' Run the backup
.SqlBackup(Srv)
End With
End Using
End Sub
End Class



اینایی که زیرش خط کشیدم رو err میزنه که Error 1 'Devices' is not a member of 'zaban.backup'. F:\zaban\zaban\zaban\backup.vb 18 13 zaban

توی آدرس f:\zaban\zaban\database هم یه بار از توی sql از دیتا بیسم backup گرفتم قبلا
حالا با همه این تفاسیری که گفتم اگه کسی میدونه مشکل من چیه بدون هیچ زور و اجباری کمکم کنه
راستی من این کد ها رو توی onmouseclick یه button نوشتم دیگم نمی دونم توضیح دیگهای باید بدم یا نه؟؟؟؟؟؟
در ضمن رفرنس های interop.sqldmo و interop.sqlns رو هم اضافه کردم به برنامم

elmira_63
یک شنبه 12 خرداد 1387, 11:49 صبح
ممنون از آقای /خانم visual stdio ولی این کد رو هم امتحان کردم دقیقاً همون ایراد بالا رو می گیره به علاوه این که میزنه Error 10 Name 'Properties' is not declared. F:\zaban\zaban\zaban\backup.vb 47 38 zaban

touraj
یک شنبه 12 خرداد 1387, 15:50 عصر
ممنون از آقای /خانم visual stdio ولی این کد رو هم امتحان کردم دقیقاً همون ایراد بالا رو می گیره به علاوه این که میزنه Error 10 Name 'Properties' is not declared. F:\zaban\zaban\zaban\backup.vb 47 38 zaban

دیدی گفتم خانمی که همون جواب رو بهت میدن؟
دلیل این مشکلت رو نمیدونم. اما دو تا پیشنهاد دیگه دارم:

1. برای پست مطلبت "ارسال پاسخ" رو کلیک کن.
دکمه # رو کلیک کن و کدهایی که نوشتی رو بین دو تا تگ قرار بده که خوانا بشه.

2. مواردی که مشکل داره رو قرمز کن. اینطوری بقیه بهتر میبینن.

در ضمن، شما بچه نیستی. من هم جسارتی نکردم. اگه ناراحت شدی ببخشید.

elmira_63
یک شنبه 12 خرداد 1387, 17:02 عصر
Imports System
Imports System.Data.SqlClient
Imports Microsoft.SqlServer.Management.Smo
Imports Microsoft.SqlServer.Management.Common

Public Class backup
Public Shared Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click
Dim DataName As String = "zaban.bak"
Dim connectionstr As String = "data source='" & ser & "';Initial Catalog=zaban;Integrated Security=True"
Using cnn As New SqlConnection(ConnectionStr)
cnn.Open()
Dim Srvcon As New ServerConnection(cnn)
Dim Srv As New Server(Srvcon)
' Create backup device item for the backup
Dim bdi As New BackupDeviceItem("f:\zaban\zaban\database" & DataName, DeviceType.File)
' Create the backup informaton
Dim Backup As New backup
Backup.Devices.Add(bdi)

With Backup
'Type Of Backup
.Action = BackupActionType.Database
.BackupSetDescription = "Backup DataBase"
.BackupSetName = "DB"
.Database = cnn.Database.ToString()
.LogTruncation = BackupTruncateLogType.Truncate
'Backup.ExpirationDate = New DateTime(2007, 5, 1)
' Run the backup
.SqlBackup(Srv)
End With
End Using
End Sub
End Class

واقعا معضرت میخوام خوب تازه واردم دیگه
اینم کدی که استفاده می کنم

Sub Zero
دوشنبه 13 خرداد 1387, 09:06 صبح
فکر کنم یه BackSlash جا انداختی

Dim bdi As New BackupDeviceItem("f:\zaban\zaban\database\" & DataName, DeviceType.File)

elmira_63
دوشنبه 13 خرداد 1387, 09:35 صبح
ولی عزیز مشکل من اینه که این کد انقدر err میگیره که اصلا وارد برنامه نمی شه که بخواد انجام بده یا نده
این خطایی که قرمز کردم رو err میگیره

Imports System
Imports System.Data.SqlClient
Imports Microsoft.SqlServer.Management.Smo
Imports Microsoft.SqlServer.Management.Common

Public Class backup
Public Shared Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click
Dim DataName As String = "zaban.bak"
Dim connectionstr As String = "data source='" & ser & "';Initial Catalog=zaban;Integrated Security=True"
Using cnn As New SqlConnection(ConnectionStr)
cnn.Open()
Dim Srvcon As New ServerConnection(cnn)
Dim Srv As New Server(Srvcon)
' Create backup device item for the backup
Dim bdi As New BackupDeviceItem("f:\zaban\zaban\database" & DataName, DeviceType.File)
' Create the backup informaton
Dim Backup As New backup
Backup.Devices.Add(bdi)

With Backup
'Type Of Backup
.Action = BackupActionType.Database
.BackupSetDescription = "Backup DataBase"
.BackupSetName = "DB"
.Database = cnn.Database.ToString()
.LogTruncation = BackupTruncateLogType.Truncate
'Backup.ExpirationDate = New DateTime(2007, 5, 1)
' Run the backup
.SqlBackup(Srv)
End With
End Using
End Sub
End Class

ایرادی که می گیره مثلا برای خط آخر اینه

Error 7 'SqlBackup' is not a member of 'zaban.backup'. F:\zaban\zaban\zaban\backup.vb 29 17 zaban

Sub Zero
دوشنبه 13 خرداد 1387, 09:38 صبح
توی تاپیکی که بهت ادرس دادم نوشته بودم بارها بااین کد از دیتابیس Backup گرفتم اگه میتونی سورس برنامت رو برام بذار تا یه نگاهی بهش بندازم .
در ضمن این ser که توی کانکشن استرینگ ازش استفاده کردی چیه کجا مقدار دهی شده؟

elmira_63
دوشنبه 13 خرداد 1387, 11:25 صبح
نمی دونم والا
وقتی برنامم برای اولین بار اجرا روی یه سیستم اجرا بشه میاد نام سرور رو توی یه فایل ini. ذخیره میکنه بعد برای اتصال به دیتابیس به جای استفاده از نام مسقیم دیتابیس نام سرور که توی ini. ریخته بودم رو همون اول برنامه میریزه توی این متغییر ser و جاهای مختلف برنامه از اون برای اتصال به دیتابیس از اون استفاده میکنم ولی فکر نمی کنم اشکال از اینجا باشه
من روی این سیستمم ویندوز سرور نصب و ورژن sql رو هم زده 5.2 سرویس پک 2 در ضمن روی این سیستم اون آدرسی که قبلا گفته بودین D:\Program Files\Microsoft SQL Server\90\SDK\assembely
رو نداره تا اینجاش هست D:\Program Files\Microsoft SQL Server\90\SDK
اون رفرنسایی که توی فلدر assembely هست رو از روی یه سیستم دیگه کپی کردم آوردم نصب کردم امکانش هست که sql من مشکل داشته باشه؟؟؟؟؟؟؟؟

Sub Zero
دوشنبه 13 خرداد 1387, 11:43 صبح
امکانش هست که sql من مشکل داشته باشه؟؟؟؟؟؟؟؟
برای همین گفتم اگه میتونی سورست روبده تا برات درستش کنم چون ظاهرا کدهایی که استفاده کردی مشکلی ندارن .
درضمن به جای استفاده از فایل .INI از My.Settings استفاده کن . بدین صورت که متغییری که میخوای در سراسر برنامت ازش استفاده کنی رو در قسمت Settings از تب Project Properties تعریف کن .

elmira_63
دوشنبه 13 خرداد 1387, 12:18 عصر
اگه لطف کنید email تون رو بدید براتون mail میکنم سورس رو

Sub Zero
دوشنبه 13 خرداد 1387, 12:49 عصر
Email رو تو امضام نوشتم .

elmira_63
سه شنبه 14 خرداد 1387, 11:14 صبح
آقا کسی مشکل ما رو متوجه نشد چیه؟؟؟؟
روی یه سیستم دیگه که sql سالم داشت هم امتحان کردم ولی ربطی به اون نداشت بازم همون مشکل رو داره ولی فکر کنم مشکل از اون device باشه یا درست ننوشتم فرمتش رو یا یه اشکالی داره
تو رو خدا یکی کمک کنه کلافه شدم

linux
سه شنبه 14 خرداد 1387, 13:19 عصر
ولی عزیز مشکل من اینه که این کد انقدر err میگیره که اصلا وارد برنامه نمی شه که بخواد انجام بده یا نده
این خطایی که قرمز کردم رو err میگیره

Imports System
Imports System.Data.SqlClient
Imports Microsoft.SqlServer.Management.Smo
Imports Microsoft.SqlServer.Management.Common

Public Class backup
Public Shared Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click
Dim DataName As String = "zaban.bak"
Dim connectionstr As String = "data source='" & ser & "';Initial Catalog=zaban;Integrated Security=True"
Using cnn As New SqlConnection(ConnectionStr)
cnn.Open()
Dim Srvcon As New ServerConnection(cnn)
Dim Srv As New Server(Srvcon)
' Create backup device item for the backup
Dim bdi As New BackupDeviceItem("f:\zaban\zaban\database" & DataName, DeviceType.File)
' Create the backup informaton
Dim Backup As New backup
Backup.Devices.Add(bdi)

With Backup
'Type Of Backup
.Action = BackupActionType.Database
.BackupSetDescription = "Backup DataBase"
.BackupSetName = "DB"
.Database = cnn.Database.ToString()
.LogTruncation = BackupTruncateLogType.Truncate
'Backup.ExpirationDate = New DateTime(2007, 5, 1)
' Run the backup
.SqlBackup(Srv)
End With
End Using
End Sub
End Class

ایرادی که می گیره مثلا برای خط آخر اینه

Error 7 'SqlBackup' is not a member of 'zaban.backup'. F:\zaban\zaban\zaban\backup.vb 29 17 zaban
شما 2000 استفاده می کنید یا 2005؟ باید smo یا dmo با رفرنسهای پروژه اضافه کنید

elmira_63
پنج شنبه 16 خرداد 1387, 07:49 صبح
از 2000 استفاده می کنم smo رو هم اضافه کردم ولی dmo رو نه اگه لازمه اونم میرم پیدا می کنم اضافه می کنم ؟؟؟؟؟

elmira_63
یک شنبه 19 خرداد 1387, 08:26 صبح
کسی مشکل ما رو نفهمید؟؟؟

elmira_63
سه شنبه 21 خرداد 1387, 13:57 عصر
کسی نیست مرا یاری کند؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

elmira_63
چهارشنبه 22 خرداد 1387, 13:54 عصر
ممنون از اساتید محترم که راهنماییم نکردند :افسرده:
ولی اینو بدوننین که زکات علمتون رو ندادین
:گریه::گریه::گریه::گریه::گریه: :گریه::گریه::گریه::گریه:

bensaeed
شنبه 29 بهمن 1390, 19:28 عصر
خوب بيد ولي من با سي شارپ ميخام:گریه: