با سلام میتونی از این استفاده کنی
Str = "use master select Dbid as Dbid from Sysdatabases where name='DBNAME'"
Da.SelectCommand = New SqlCommand(Str, CnnMaster)
Da.Fill(Ds, "Tmp")
DbId = Ds.Tables("Tmp").Rows(0).Item(0)
Try
Ds.Tables("Tmp1").Clear()
Catch ex As Exception
End Try
Str = "use Master select spid as pid from Sysprocesses where dbid='" + DbId.ToString + "'"
Da.SelectCommand = New SqlCommand(Str, CnnMaster)
Da.Fill(Ds, "Tmp1")
If Ds.Tables("Tmp1").Rows.Count > 0 Then
For I = 0 To Ds.Tables("Tmp1").Rows.Count - 1
Pid = Ds.Tables("Tmp1").Rows(I).Item(0)
cmnd.CommandText = "Kill " + Pid.ToString
cmnd.CommandType = CommandType.Text
cmnd.Connection = CnnMaster
Try
cmnd.ExecuteNonQuery()
Catch ex As Exception
End Try
Next
End If
بعدش هم برو این دستور رو اجرا کن همین به همین راحتی !!
Str = "RESTORE DATABASE [DBNAME] FROM DISK = N'" + strPath2 + "' WITH FILE = 1, NOUNLOAD , STATS = 10, RECOVERY "