Msg 3201, Level 16, State 1, Line 1
无法打开备份设备'C:\Users\Me\Desktop\Backup\MyDB.Bak'。操作系统错误5(拒绝访问。)。
Msg 3013, Level 16, State 1, Line 1
BACKUP DATABASE正在异常终止。
这是我的查询。
BACKUP DATABASE AcinsoftDB
TO DISK = 'C:\Users\Me\Desktop\Backup\MyDB.Bak'
WITH FORMAT,
MEDIANAME = 'C_SQLServerBackups',
NAME = 'Full Backup of MyDB';
23 个回答
0 人赞同
是的,我刚刚得到了这个消息。
在Windows服务中查找。开始 > 管理 > 服务
在列表中找到名为的服务。SQL Server (MSSQLSERVER),寻找 "Log On As "列(如果它不存在于列表中,需要添加它)。
这是你需要给予目录权限的账户,在资源管理器中右击>属性>共享(和安全)。
注意:如果你要跨越网络,记得给实际目录和共享的权限。
应用并等待权限的传播,再次尝试备份。
注意2:如果你跨网络备份,而你的SQL以 "本地服务 "的方式运行,那么你就有麻烦了......你可以尝试分配权限,或者在本地备份并在SQL Server之外xcopy(一小时后)可能会更容易。
注意3:如果你作为网络服务运行,那么有时远程机器将无法识别你的SQL Server上的网络服务。如果是这种情况,你需要为实际的计算机本身添加权限,例如:MyServer$。
0 人赞同
在开始菜单中进入SQL服务器文件夹,点击配置工具
选择SQL服务器配置管理器
在SQL服务器服务中,在所需的实例上,将(登录为)改为本地系统
0 人赞同
SQL Server服务账户没有写入文件夹的权限。C:\Users\Kimpoy\Desktop\Backup\
0 人赞同
我最近也遇到了这个问题,但是我在服务器A上运行备份工作,但被备份的数据库是在服务器B上,在服务器C上的一个文件共享。
请记住,执行实际的BACKUP DATABASE命令的sql服务器的服务账户是需要文件系统上的权限的,而不是代理。
0 人赞同
我在Windows 10上使用SQL Express 2014 SP1也面临同样的问题。
解决方法是
通过输入 "服务 "打开服务
找到并打开SQL服务器(SQLExpress)。
转到登录标签
选择本地系统账户(同时勾选允许服务与桌面交互)。
点击确定。停止该服务。重新启动该服务。
问题解决了
0 人赞同
为了找出你需要给哪个用户做恢复过程的权限,你可以按照以下步骤进行。
你需要到你安装SQL Server的服务器上。找到SQL Server配置管理器
接下来,你需要进入 "SQL Server服务"
在你的SQL Server(MSSQLSERVER)实例下,会有一个列有 "Logon As "的账户,在我的例子中,它是NT Service\MSSQLSERVER。
这就是你需要在源.bak位置的安全标签下添加的账户,并给予该用户 "读 "的权限,以便可以读取备份文件。
比方说,你的备份文件在 "D:\Shared "文件夹下,那么你需要给予这样的权限。
0 人赞同
发生这种情况的原因之一是你在运行MSSQLSERVER服务时没有使用本地系统。要解决这个问题,请使用以下步骤。
使用Windows+R打开运行
输入services.msc,一个服务对话框将打开
找到SQL服务器(MSSQLSERVER)。
右击并点击属性。
转到登录标签
选择本地系统账户并点击 "应用 "和 "确定"
选择 "SQL Server (MSSQLSERVER)",点击左边面板上的停止链接,一旦完全停止,再启动它。
享受你的备份。
希望它能很好地帮助你,就像它对我一样。干杯!
0 人赞同
我自己刚刚经历了这个问题。我已经确保我的MSSQLSERVER登录用户有full access
,但它仍然造成问题。更重要的是,我把目标移到了用户文件夹之外(尽管我有一个具有完整权限的共享--甚至尝试了 "Everyone "作为测试),它才工作。
我不知道我是否认为我的问题是 "固定 "的,但它是 "工作 "的。
只是给任何其他遇到这个问题的用户一个参考。
0 人赞同
我有一个类似的问题。我给.bak文件本身和我为NETWORK SERVICE用户写备份的文件夹增加了写权限。要添加权限,只需右击你想改变的文件/目录,选择安全标签,并在那里添加适当的用户/权限。
0 人赞同
以下是我所做的事情,以绕过这个问题。
1) 转到备份
2) 删除磁盘上的目标文件路径
3) 点击添加
4) 在文件名:复选框中手动输入备份名称,就像下面这样,Yourdb.bak是数据库的备份名称
C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Backup\Yourdb.bak
5) 单击 "确定
希望这对你有帮助!
0 人赞同
我知道这不是一个确切的解决方案,但使用外部驱动器路径可以解决这个问题。
BACKUP DATABASE AcinsoftDB
TO DISK = 'E:\MyDB.Bak'
WITH FORMAT,
MEDIANAME = 'C_SQLServerBackups',
NAME = 'Full Backup of MyDB';
0 人赞同
SQL服务器无法访问(写入)备份到指定的位置。
首先,你需要验证Sql服务器所运行的服务账户。这可以通过使用配置管理器或Services.msc来完成。
使用下面的查询。
SELECT DSS.servicename,
DSS.startup_type_desc,
DSS.status_desc,
DSS.last_startup_time,
DSS.service_account,
DSS.is_clustered,
DSS.cluster_nodename,
DSS.filename,
DSS.startup_type,
DSS.status,
DSS.process_id FROM sys.dm_server_services AS DSS;
现在看看service_account这一栏,并把它记下来。
转到你要备份的位置,在你的例子中:C:\Users\Me\Desktop\Backup
右键-->属性-->安全-->
添加服务账户并提供读/写权限。这将解决这个问题。
0 人赞同
在我的情况下,我忘了给备份文件命名,它一直给我同样的权限错误:/。
TO DISK N'{path}\WRITE_YOUR_BACKUP_FILENAME_HERE.bak'
0 人赞同
我通过以下三个步骤解决了同样的问题。
我把我的备份文件存放在其他文件夹路径上,这样做是正确的。
查看不同的安全标签的两个文件夹(如下图所示)。
在安全选项卡的文件夹中设置编辑权限,但这是不正确的。
0 人赞同
Msg 3201, Level 16, State 1, Line 1
无法打开备份设备'C:\Backup\Adventure_20120720_1024AM.trn'。操作系统错误5(访问被拒绝。)。
Msg 3013, Level 16, State 1, Line 1
BACKUP LOG异常终止。
我验证了C盘的备份文件夹,新的服务账户是否有完全控制的访问权限,我发现 "Test\Kiran "服务账户没有完全控制的安全权限。
请按照下面的步骤,给服务帐户以完全控制权。
转到C盘,右键点击备份文件夹。
选择安全选项卡。
点击 "编辑 "按钮,新窗口将打开。
点击添加按钮,输入TestKiran用户账户,点击检查名称按钮,这将验证你输入的用户是否存在,如果存在,它将在窗口中显示用户,选择确定。
选择你输入的用户名并选择允许下的完全控制复选框。
0 人赞同
请检查对驱动器的访问。首先创建一个文件夹并进入文件夹属性。
你可能会发现安全选项卡,点击它检查你的用户ID是否有权限。
如果找不到你的ID,请点击添加按钮,并给出具有完全访问权限的用户名。
0 人赞同
分享这个文件夹并使用UNC路径,例如。\pc/backups/mydb.bak
然后你可以停止共享。
这不是很优雅,但它解决了所有的权限问题(你也需要给共享的权限,如上所述)。
0 人赞同
当.BAK文件被暂时存放在一个用BitLocker加密的文件夹中时,我遇到了这个问题。当它被移到一个不同的文件夹后,它仍然保留了加密功能。
NETWORK SERVICE账户无法解密该文件,并给出了这个内容丰富的错误信息。
在.BAK文件上取消BitLocker加密(通过取消在文件属性中勾选 "加密内容以保护数据")可以解决这个问题。
0 人赞同
我有同样的错误。以下变化帮助我解决了这个问题。
我不得不检查服务器管理器->工具->服务,并找到服务的用户("登录为 "一栏)::。
On As "列)的服务。SQL服务器(SQLEXPRESS)。
我进入本地文件夹(C:\Users\Me\Desktop\Backup)并添加 "NT
Service\MSSQL$SQLEXPRESS "作为用户,给予写入权限。
0 人赞同
你好,你需要将查询从:
BACKUP DATABASE AcinsoftDB
TO DISK = 'C:\Users\Me\Desktop\Backup\MyDB.Bak'
BACKUP DATABASE AcinsoftDB
TO DISK = N'C:\Users\Me\Desktop\Backup\MyDB.Bak'