PDA

View Full Version : سوال: گرفتن نسخه پشتیبان از SQL



Juventus FC
جمعه 28 شهریور 1393, 19:29 عصر
سلام من میخوام از پایگاه داده SQL ام نسخه پشتیبان بگیرم ، موضوع این نیست که از خود دیتابیس نمیدونم چه طور میشه backup گرفت ريال موضوع اینکه دستور و کد مربوط به گرفتن نسخه پشتیبان از SQL در vb6 چیه ! سابق من از access نسخه پشتیبان میگرفتم و خیلی کار راحتی بود منتها الآن نمیدونم چه طور باید به پایگاه داده SQL اشاره بکنم و از پایگاه داده مربوطه درون آن نسخه پشتیبان بگیرم !


On Error GoTo l:
CommonDialog1.FileName = "BANK.Backup"
CommonDialog1.ShowSave
If CommonDialog1.FileName <> "" Then
A = CopyFile(App.Path & "\BANK.mdb", CommonDialog1.FileName, 0)
If A > 0 Then
MsgBox " ÚãáíÇÊ ÔÊíÈÇä íÑí ÈÇ ãæÝÞíÊ ÇäÌÇã ÔÏ ", vbInformation, ""
Else
MsgBox " ÚãáíÇÊ ÔÊíÈÇä íÑí ÈÇ ãÔ˜á ãæÇÌå ÔÏå ÇÓÊ ", vbExclamation, ""
End If
End If
l:


این کد مربوط به گرفتن نسخه پشتیبان از پایگاه داده Access بود که کار بسیار راحتی بود ! حال اساتید گرامی کد مربوط به گرفتن نسخه پشتیبان از پایگاه داده SQL چیست دقیقا !؟

ایلیا آخوندزاده
شنبه 29 شهریور 1393, 08:59 صبح
راستش من زیاد با sql کار نکردم ولی اینو میدونم که sql خودش این امکان رو داره که بصورت دستی از پایگاه داده پشتیبان گیری کنید.
نمونه سورس برای نسخه پشتیبان از طریق خود برنامه :


Private Sub Attach_And_Detach()
'ÞØÚ ÇÊÕÇá ÈÇä˜ ÈÇ ÓÑæÑ
With Cn
If .state = 1 Then .Close
.Open "Provider=SQLNCLI10.1;Data Source=SERVER_Name;User ID=User_Name;Password=Your_Password;Initial Catalog=master"
.Execute "ALTER DATABASE Database_Name SET SINGLE_USER WITH ROLLBACK IMMEDIATE"
.Execute "EXEC sp_detach_db @dbname = N'Database_Name' , @keepfulltextindexfile='true';"
.Execute "ALTER DATABASE Database_Name SET MULTI_USER"
.Close
End With

'˜í ÝÇíáåÇí ÔÊíÈÇä ÏÑ æÔå ÇÕáí
fso.CopyFile "MDF.Bak", "MDF"
fso.CopyFile "LDF.Bak", "LDF"

'ÇÊÕÇá ãÌÏÏ ÈÇä˜ ÈÇ ÓÑæÑ
With Cn
If .state = 1 Then .Close
.Open "Provider=SQLNCLI10.1;Data Source=SERVER_Name;User ID=User_Name;Password=Your_Password;Initial Catalog=master"
.Execute "EXEC sp_attach_db @dbname = N'Database_Name'," & _
"@filename1 = N'D:\Database_Name.mdf'," & _
"@filename2 = N'D:\Database_Name_log.LDF'"
.Close
End With
End Sub

فقط تو کد Database_Name , User_Name , Your_Password , Server_Name همچنین مسیر بانکتون رو ست می کنید.

Juventus FC
شنبه 29 شهریور 1393, 15:18 عصر
من اینو باید تو Button بنویسیم ؟ کجا بنویسمش ؟

چون من میخوام از طریق خود VB دستور BACKUP بهش بدم !

ایلیا آخوندزاده
دوشنبه 31 شهریور 1393, 07:20 صبح
من اینو باید تو Button بنویسیم ؟ کجا بنویسمش ؟

چون من میخوام از طریق خود VB دستور BACKUP بهش بدم !
بله توی یک باتون ،تایمر و یا هرچیزی که میخوان با کلیک روش نسخه پشتیبان بگیره.
موفق باشین

Juventus FC
پنج شنبه 03 مهر 1393, 17:37 عصر
بله توی یک باتون ،تایمر و یا هرچیزی که میخوان با کلیک روش نسخه پشتیبان بگیره.
موفق باشین

یک توضیحاتی به این قطعه کد که نوشتید میدید ؟

اون دو تا

"@filename1 = N'D:\Database_Name.mdf'," & _
"@filename2 = N'D:\Database_Name_log.LDF'

منظور چیه و من کلا کجاها باید تغییر بدم ؟

m.4.r.m
پنج شنبه 03 مهر 1393, 19:12 عصر
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\AdventureWorks.BAK'
WITH DIFFERENTIAL
GO

روش دوم با پسورد :

BACKUP DATABASE AdventureWorks
TO DISK = 'C:\AdventureWorks.BAK'
WITH PASSWORD = 'Q!W@E#R$'
GO

Juventus FC
دوشنبه 07 مهر 1393, 20:52 عصر
این و کل هم عجمعین Error میگیره VB ! دوست من.

Juventus FC
سه شنبه 08 مهر 1393, 21:18 عصر
دوستان کسی سر در میاره از backup گرفتن از SQL ؟

vbhamed
شنبه 26 مهر 1393, 11:36 صبح
این و کل هم عجمعین Error میگیره VB ! دوست من.

سلام
خب اين فقط دستورات Sql هست نه وي بي
براي اجراي دستورات Sql از درون وي بي به روش زير عمل كنيد، البته اين برنامه اجراي دستورات Sql رو انجام ميده و درستي و نادرستي خود دستور Sql جهت بكاپ گرفتن پاي دوستمون