Backup và Restore Database Microsoft SQL Server
Công việc backup và restore database là công việc quan trọng và cần thiết khi lập trình ứng dụng tương tác với cơ sở dữ liệu, hôm nay mình xin hướng dẫn các bạn bài viết làm thế nào để backup và restore database với vb.net một cách nhanh chóng. Bước ...
Công việc backup và restore database là công việc quan trọng và cần thiết khi lập trình ứng dụng tương tác với cơ sở dữ liệu, hôm nay mình xin hướng dẫn các bạn bài viết làm thế nào để backup và restore database với vb.net một cách nhanh chóng.
Bước 1: Ta import thư viện microsoft sqlserver vào
Imports System.Data.SqlClient
- Tiếp đến ta khai báo các biến để kết nối VB với MSSQL
Dim con As SqlConnection Dim cmd As SqlCommand Dim dread As SqlDataReader
Bước 2: Ta tạo 1 function server để lấy tên server MSSQL vào combox tên server (cmbserver)
Sub server(ByVal str As String) con = New SqlConnection("Data Source=" & str & ";Database=Master;integrated security=SSPI;") con.Open() cmd = New SqlCommand("select * from sysservers where srvproduct='SQL Server'", con) dread = cmd.ExecuteReader While dread.Read cmbserver.Items.Add(dread(2)) End While dread.Close() End Sub
Bước 3: Ta tiếp tạo 1 function connection() để liệt kê tất cả database đang có trong server để chúng ta thao tác backup hay restore.
Sub connection() con = New SqlConnection("Data Source=" & Trim(cmbserver.Text) & ";Database=Master;integrated security=SSPI;") con.Open() cmbdatabase.Items.Clear() cmd = New SqlCommand("select * from sysdatabases", con) dread = cmd.ExecuteReader While dread.Read cmbdatabase.Items.Add(dread(0)) End While dread.Close() End Sub
- Tiếp đến ta tạo 1 event khi cmbserver_SelectedIndexChanged() sẽ get lại kết nối khi chọn database
Private Sub cmbserver_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbserver.SelectedIndexChanged connection() End Sub
- Tiếp ta tạo một function query() để thực hiện truy vấn câu lệnh Sql backup hay restore
Sub query(ByVal que As String) On Error Resume Next cmd = New SqlCommand(que, con) cmd.ExecuteNonQuery() End Sub
Bước 4: Ta xử lý timer() dùng để tạo process bar và thông báo khi thực hiện câu lệnh backup hay restore
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick If ProgressBar1.Value = 100 Then Timer1.Enabled = False ProgressBar1.Visible = False MsgBox("Thành công!") Else ProgressBar1.Value = ProgressBar1.Value + 5 End If End Sub
Bước 5: Ta tạo function blank() để lựa chọn xử lý backup hay restore
Sub blank(ByVal str As String) If cmbserver.Text = "" Or cmbdatabase.Text = "" Then MsgBox("Server Name & Database Blank Field") Exit Sub Else If str = "backup" Then SaveFileDialog1.FileName = cmbdatabase.Text SaveFileDialog1.ShowDialog() Timer1.Enabled = True ProgressBar1.Visible = True Dim s As String s = SaveFileDialog1.FileName query("backup database " & cmbdatabase.Text & " to disk='" & s & "'") ElseIf str = "restore" Then OpenFileDialog1.ShowDialog() Timer1.Enabled = True ProgressBar1.Visible = True query("RESTORE DATABASE " & cmbdatabase.Text & " FROM disk='" & OpenFileDialog1.FileName & "'") End If End If End Sub
Bước 6: Thực hiện ta tác backup hay restore
+ Backup: Xử lý sự kiện khi click lệnh backup
Private Sub cmbbackup_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbbackup.Click blank("backup") End Sub
+ Xử lý sự kiện khi click lệnh restore
Private Sub cmdrestore_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdrestore.Click blank("restore") End Sub
Bước cuối cùng: ta chèn tên server name vào câu lệnh trong sự kiện form_load(), mặc định là (local) hay một sqlserver từ ip trong mạng nội bộ hay internet.
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load server("(local)") End Sub
Chúc các bạn thành công!
Có gì thắc mắc các bạn hãy để lại comment
Link download demo: backup and restore SQL SERVER with VB.NET