您的位置:首页 > 数据库

为何SQL SERVER使用sa账号登录还原数据库BAK文件失败,但是使用windows登录就可以

2018-02-09 16:04 141 查看
今天发现一个问题,就是公司开发服务器上的sql server使用sa账号登录后,还原一个数据库bak文件老是报错,错误如下:

TITLE: Microsoft SQL Server Management Studio
------------------------------

Restore of database 'Customer' failed. (Microsoft.SqlServer.Management.RelationalEngineTasks)

------------------------------
ADDITIONAL INFORMATION:

System.Data.SqlClient.SqlError: Directory lookup for the file "C:\Program Files\Microsoft SQL Server\MSSQL12.DA\MSSQL\DATA\Customer.mdf" failed with the operating system error 3(The system cannot find the path specified.). (Microsoft.SqlServer.SmoExtended)

For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=14.0.17199.0+((SSMS_Rel).171004-0254)&LinkId=20476 
------------------------------
BUTTONS:

OK
------------------------------


可以看到这个错误是sql server在文件夹C:\Program Files\Microsoft SQL Server\MSSQL12.DA\MSSQL\DATA\下无法生成数据库文件Customer.mdf。然后我怀疑这应该是sql server没权限访问这个文件夹,所以我就尝试了使用windows账号登录而不是sa账号登录sql server,结果还原立马成功了。。。

可是sa账号和windows账号在sql server中都是sysadmin权限,我很纳闷为什么windows账号就可以还原数据库,而sa账号不可以



按道理说sql server去读取备份bak文件及还原数据库为mdf文件,都是由sql server的service服务账号来完成的(如下截图所示),和登录sql server的sa账号和windows账号应该是完全无关的。



所以出现这个问题我也是百思不得其解。。。有明白的朋友欢迎留言解答。。。谢谢~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐