[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 475
  • Last Modified:

Restore can't access backup file

Hi Experts,

A third party vendor was given a database backup, did some work on it, and returned the updated backup.

Running
restore filelistonly
from disk = N'Somelocaldiskpaththatisreallyasanbecausemachineisvm'

returned
Msg 3201, Level 16, State 2, Line 1
Cannot open backup device 'Somelocaldiskpaththatisreallyasanbecausemachineisvm'. Operating system error 2(error not found).
Msg 3013, Level 16, State 1, Line 1
RESTORE FILELIST is terminating abnormally.

Occasionally the Operating system error 3 appeared.

Research shows that this is a permissions issue, that the sql service account doesn't have rights on the file.

But it DID have rights to the file and the folder. In fact, I copied the file into the backup folder for the originating database and still nothing.

Having figured out that it was a rights issue, I copied the backup file to a test server, checked the rights and the restore filelistonly worked.

Meanwhile, the vendor talked me through restoring the backup using the SSMS gui. (I was using SSMS 2008R2 from a test server.) The gui worked!

So, my question is, why would the gui work and the script NOT work?

Regards
  David

PS Further Details
Server SQL 2005 sp3
Windows 2003 sp2
Backup size is around 1.5GB
0
David Todd
Asked:
David Todd
  • 5
  • 4
1 Solution
 
Louis01Commented:
Some questions:

1. You sure you have the correct SQL Service Account?
> Getting the SQL Service Account:
> Start > Run > services.msc
> Locate SQL Server service > Right Click > Properties > Log on tab
> Here you will see what the SQL Service Account is.

2. How do you execute the script? From the same machine? How do you connect?
0
 
EvilPostItCommented:
Operating system error 3 is "The system cannot find the path specific" and operating system error 2 is "The system cannot find the file specific". If it were a permissions issue you would get an operating system error 5.

You can resolve operating system errors by running the following from cmd...

net helpmsg 2

Open in new window


Based on your error codes you are either typing the path wrong or the file name wrong. From SSMS get to the point where you are about to hit the restore button and then script it to a query window and compare with the statement you have written.
0
 
EvilPostItCommented:
Do you require further assistance?
0
Windows Server 2016: All you need to know

Learn about Hyper-V features that increase functionality and usability of Microsoft Windows Server 2016. Also, throughout this eBook, you’ll find some basic PowerShell examples that will help you leverage the scripts in your environments!

 
David ToddSenior DBAAuthor Commented:
Hi Folks,

Thanks for your interest, but you haven't answered my question.

Given I went over and over the path and filename, copying from Explorer, the chance I got them wrong is pretty small.

Yes I was dealing with the correct service user accounts - I was also cribbing off the backup files from the server, and comparing their rights to the file I was trying to restore.

On some modem systems there is a block attribute/flag on downloaded files, but I couldn't find that to turn it off.

While there is no immediate pressure or constraint to solve this issue currently, restoring a vendors backup is part of what a DBA does, so I want to know for next time. I still have the file, and its relatively small, so I can practice.

Regards
  David
0
 
EvilPostItCommented:
Are you not getting operating system error 2 or 3 any more then as the error would be different were it a permissions issue?
0
 
David ToddSenior DBAAuthor Commented:
Hi

Still getting that error for SQL script.

Regards
  David
0
 
EvilPostItCommented:
Could you go through the gui to do the restore and just before you are about the hit the restore button click on the script button at the top of the window.

Could you then copy and paste both you restore command and the guis restore command so that we can compare.
0
 
David ToddSenior DBAAuthor Commented:
Thanks!

Despite all the care in the world I managed to muddle the path and filename enough that my translation of the actual error is file not found.

The original file - as I guessed - was from a more recent version of SQL and when I got the path correct got the more expected error
"The media family on device 'D:\MSSQL2005X64\MEX_PROD\MSSQL.1\MSSQL\Restore\New Folder\MEXDB_After_Import_28062013.bak' is incorrectly formed. SQL Server cannot process this media family."

Reason for the grade of A was the prompt to let the GUI script things out. Doing so showed where I had gone adrift. Many thanks.

Regards
  David
0
 
EvilPostItCommented:
No probs. You would not believe the amount of times I do exactly the same thing so your not alone!
0
 
David ToddSenior DBAAuthor Commented:
Thanks for the encouragement!
0

Featured Post

Hire Technology Freelancers with Gigs

Work with freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely, and get projects done right.

  • 5
  • 4
Tackle projects and never again get stuck behind a technical roadblock.
Join Now