# پایگاه‌های داده > SQL Server > مدیریت دیتابیس (Database Administration) > Backup & Restore >  مشکل در ریستور کردن فایل bak

## amirdifraxe1

سلام بر همه ی اساتید...
من تو ریستور با خطایه زیر روبرو می شم.. باید چه کار کنم؟



> Cannot open backup device 'C:\Program Files\Microsoft SQL  Server\MSSQL.1\MSSQL\Backup\ F:\New folder\BackUp.BAK '. Operating  system error 123(The filename, directory name, or volume label syntax is  incorrect.). RESTORE DATABASE is terminating abnormally


.


با این کد با خطایه بالا مواجه می شم.
---------------------------------------------
 OpenFileDialog1.Filter = "BAK(*.BAK)|*.BAK"
        OpenFileDialog1.Title = "انتخاب فایل"
        OpenFileDialog1.ShowDialog()
        a = OpenFileDialog1.FileName
        TextBox1.Text = a -------------------------------------------
این کد در دکمه قرار داره.
conn.Open()
        Dim dt As New SqlDataAdapter
        Dim com As New SqlCommand
        com = New SqlCommand("RESTORE DATABASE GOLD  FROM DISK = ' " & a & " '   ", conn)
        dt.SelectCommand = com
        com.ExecuteNonQuery()
        MsgBox("Ok Shod")

مرسی از راهنمایی شما.ممنون می شم کمکم کنید.

----------


## حمیدرضاصادقیان

دوست عزیزسلام.
این مسیر رو ببین



> C:\Program Files\Microsoft SQL  Server\MSSQL.1\MSSQL\Backup\ F:\New folder\BackUp.BAK


این الان داره همزمان هم از درایو c هم از درایو F فایل Backup شمارو میخونه و براش نامفهومه.مسیر رو درست انتخاب کنید مشکل حل خواهد شد.

----------


## amirdifraxe1

الان مشکل بالا حل شد  دوست عزیز 

من الان نمی دونم موقع ریستور بانک رو disconnect, یا  detach کنم یا کاری دیگه ,,,نمی دونم ,,, و از برنامه خودم هم نمی تونم چون  وقتی بازگردانی رو می زنم می گه که بانک در حال استفاده است...چه کار کنم از برنامه خودم ریستور کنه؟

----------


## حمیدرضاصادقیان

موقع Restore شما نباید Connection باز به دیتابیس داشته باشید.
مثلا با استفاده از Use databasename میتوانید Connection رو تغییر بدید. یا مثلا سعنی کنید با استفاده از دستور kill تمام Connection های باز به دیتابیس رو از بین ببرید و مجددا اینکارو بکنید.
اینجا هم اگر ببینید کمکتون میکنه

----------


## amirdifraxe1

یعنی من الان تو برنامه ام این طوری قرار بدم ؟




> Dim cmd as new sqlcommand("select spid from master..sysprocessess where dbid=db_id(GOLD)")


بعد از kill نمی تونم استفاده کنم چون باهاش کار نکردم چه کار کنم؟

----------

