ARData
چهارشنبه 21 خرداد 1393, 07:53 صبح
سلام کاربران محترم
با توجه به نبود کد یا برنامه مشخصی برای بکآپ دیتابیس های SQL در این سایت بر آن شدم تا در خدمت عزیزان سایت باشم :
برای شروع کار ما نیاز به یک کامپوننت (SQLDMO.RLL) و رجیستر کردن آن در سیستم خود می باشیم سپس از طریق کد نویسی زیر دیتابیس مورد نظر را در مسیر دلخواه و با نام دلخواه می توانیم ذخیره نماییم :
جهت رجیستر کردن کامپوننت در پنجره RUN ویندوز عبارت regsvr32 /s- sqldmo.rll را وارد نمایید :
Private Sub Command3_Click()
On Error Resume Next
Dim nIndex As Long
Dim obu As SQLDMO.Backup2
Dim odb As SQLDMO.Database2
Dim odbs As SQLDMO.Databases
Dim ors As SQLDMO.RegisteredServer
Dim orss As SQLDMO.RegisteredServers
Dim osvr As SQLDMO.SQLServer2
'ارتباط با سرور
Set orss = SQLDMO.ServerGroups(1).RegisteredServers
Set ors = orss.Item(1)
Set osvr = New SQLDMO.SQLServer2
osvr.Login = "نام کاربري اس کيو ال"
osvr.LoginTimeout = 5
osvr.Name = ors.Name
osvr.Password = "پسورد اس کيو ال"
'ارتباط و گرفتن ديتابيس مورد نظر
On Error GoTo ConnectSecure
osvr.Connect
On Error GoTo 0
Set odbs = osvr.Databases
For nIndex = 1 To odbs.Count
Set odb = odbs.Item(nIndex)
If odb.Name = "نام ديتابيس مورد نظر" Then
Exit For
End If
Next nIndex
If Not odb.Name = "نام ديتابيس مورد نظر" Then
MsgBox "خطاي ارتباط با ديتابيس."
Exit Sub
End If
Set obu = New SQLDMO.Backup2
obu.Database = "نام ديتابيس مورد نظر"
obu.Files = "D:\نام ديتابيس مورد نظر" & ".bak"
obu.Action = SQLDMOBackup_Database
Call obu.SQLBackup(osvr)
Exit Sub
ConnectSecure:
If osvr.LoginSecure = False Then
MsgBox "خطاي اتصال به سرور مورد نظر."
Else
Set osvr = New SQLDMO.SQLServer2
osvr.LoginSecure = True
osvr.Name = ors.Name
Resume
End If
Exit Sub
End Sub
با توجه به نبود کد یا برنامه مشخصی برای بکآپ دیتابیس های SQL در این سایت بر آن شدم تا در خدمت عزیزان سایت باشم :
برای شروع کار ما نیاز به یک کامپوننت (SQLDMO.RLL) و رجیستر کردن آن در سیستم خود می باشیم سپس از طریق کد نویسی زیر دیتابیس مورد نظر را در مسیر دلخواه و با نام دلخواه می توانیم ذخیره نماییم :
جهت رجیستر کردن کامپوننت در پنجره RUN ویندوز عبارت regsvr32 /s- sqldmo.rll را وارد نمایید :
Private Sub Command3_Click()
On Error Resume Next
Dim nIndex As Long
Dim obu As SQLDMO.Backup2
Dim odb As SQLDMO.Database2
Dim odbs As SQLDMO.Databases
Dim ors As SQLDMO.RegisteredServer
Dim orss As SQLDMO.RegisteredServers
Dim osvr As SQLDMO.SQLServer2
'ارتباط با سرور
Set orss = SQLDMO.ServerGroups(1).RegisteredServers
Set ors = orss.Item(1)
Set osvr = New SQLDMO.SQLServer2
osvr.Login = "نام کاربري اس کيو ال"
osvr.LoginTimeout = 5
osvr.Name = ors.Name
osvr.Password = "پسورد اس کيو ال"
'ارتباط و گرفتن ديتابيس مورد نظر
On Error GoTo ConnectSecure
osvr.Connect
On Error GoTo 0
Set odbs = osvr.Databases
For nIndex = 1 To odbs.Count
Set odb = odbs.Item(nIndex)
If odb.Name = "نام ديتابيس مورد نظر" Then
Exit For
End If
Next nIndex
If Not odb.Name = "نام ديتابيس مورد نظر" Then
MsgBox "خطاي ارتباط با ديتابيس."
Exit Sub
End If
Set obu = New SQLDMO.Backup2
obu.Database = "نام ديتابيس مورد نظر"
obu.Files = "D:\نام ديتابيس مورد نظر" & ".bak"
obu.Action = SQLDMOBackup_Database
Call obu.SQLBackup(osvr)
Exit Sub
ConnectSecure:
If osvr.LoginSecure = False Then
MsgBox "خطاي اتصال به سرور مورد نظر."
Else
Set osvr = New SQLDMO.SQLServer2
osvr.LoginSecure = True
osvr.Name = ors.Name
Resume
End If
Exit Sub
End Sub