PDA

View Full Version : سوال در مورد back up



elmira_63
سه شنبه 07 خرداد 1387, 14:10 عصر
سلام
من میخوام توی برنامم امکان گرفتن پشتیبان و بازیابی داشته باشم
یه سرچ کردم ولی نتونستم ازش استفاده کنم




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


ولی این آیتم ها که باید add refrence کنیم رو نداره از کجا باید به پروژم اضافه کنم

Imports Microsoft.SqlServer.Management.Common
Imports Microsoft.SqlServer.Management.Smo


به این دو خط ایراد میگیره و اون آیتم هایی که باید add reffrence کنم رو نداشت
تو رو خدا یکی راهنمایی کنه :عصبانی++::عصبانی++:

samispeed
سه شنبه 07 خرداد 1387, 18:38 عصر
برای اینکار باید C:\Program Files\Microsoft SQL Server\90\SDK\Assemblies folder را باز کنید و dll های زیر را به برنامه خود اضافه کنید .
Microsoft.SqlServer.ConnectionInfo.dll
Microsoft.SqlServer.Smo.dll
Microsoft.SqlServer.SqlEnum.dll
Microsoft.SqlServer.SmoEnum.dll