none
备份设备的问题! RRS feed

  • 问题

  •  
    exec sp_addumpdevice 'disk','TestLogBAK',
    'E:\SQLBackup\TestLogBAK.bak'
    
    backup log [test] to TestLogBAK
    
    这是返回的执行结果.
    
    消息 3201,级别 16,状态 1,第 1 行
    无法打开备份设备 'TestLogBAK(E:\SQLBackup\TestLogBAK.bak)'。
    出现操作系统错误 3(系统找不到指定的路径。)。
    消息 3013,级别 16,状态 1,第 1 行
    BACKUP LOG 正在异常终止。
    
    我在网上找了半天都没有我想要的答案,麻烦各位讲讲!
    
    • 已移动 Sheng Jiang 蒋晟 2009年11月11日 19:22 SQL Server (发件人:ADO.NET 与 LINQ)
    2009年11月11日 3:03

答案

  • 首先确认E:\SQLBackup\TestLogBAK.bak 这个文件是否存在,如果不存在手动创建
    默认情况下sql server用户对这个目录是不具有读写权限的,即便sp_adddumpdevice 可以执行成功 但并不会去真正创建这个文件的
    手动创建这个文件后,在属性中安全选项卡 添加用户 高级 立即查找 找到sql server 的用户(比如我电脑中是SQLServerMSSQLUser$Raymond$MYMSSQL2008) 添加后赋予其完全控制的权限就可以了

    或者是给想备份至的文件夹给sql server 用户添加权限

    Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!My blog~~~
    • 已标记为答案 糊涂人 2009年11月16日 5:44
    2009年11月11日 8:19
  • 首先确认E:\SQLBackup\TestLogBAK.bak 这个文件是否存在,如果不存在手动创建
    默认情况下sql server用户对这个目录是不具有读写权限的,即便sp_adddumpdevice 可以执行成功 但并不会去真正创建这个文件的
    手动创建这个文件后,在属性中安全选项卡 添加用户 高级 立即查找 找到sql server 的用户(比如我电脑中是SQLServerMSSQLUser$Raymond$MYMSSQL2008) 添加后赋予其完全控制的权限就可以了

    或者是给想备份至的文件夹给sql server 用户添加权限

    Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!My blog~~~

     "操作系统错误 3"这个错误是指制定路径不存在,并不是一个权限错误, sp_adddumpdeivce命令也不会去检查目录是否存在.    要解决楼主的问题,创建e:\sqlbackup这个目录即可.    如果创建之后执行备份后出现"系统错误5", 才表示权限问题. 这时要授予sqlserver启动账户读写e:\SQLBackup的权限.

    "默认情况下sql server用户对这个目录是不具有读写权限的" 这个说法是错误的,是否有访问权限要根据sqlserver的启动账户的权限而定.
    有dba的职位吗
    2009年11月12日 0:21
    版主
  • 首先确认E:\SQLBackup\TestLogBAK.bak 这个文件是否存在,如果不存在手动创建
    默认情况下sql server用户对这个目录是不具有读写权限的,即便sp_adddumpdevice 可以执行成功 但并不会去真正创建这个文件的
    手动创建这个文件后,在属性中安全选项卡 添加用户 高级 立即查找 找到sql server 的用户(比如我电脑中是SQLServerMSSQLUser$Raymond$MYMSSQL2008) 添加后赋予其完全控制的权限就可以了

    或者是给想备份至的文件夹给sql server 用户添加权限

    Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!My blog~~~

     "操作系统错误 3"这个错误是指制定路径不存在,并不是一个权限错误, sp_adddumpdeivce命令也不会去检查目录是否存在.    要解决楼主的问题,创建e:\sqlbackup这个目录即可.    如果创建之后执行备份后出现"系统错误5", 才表示权限问题. 这时要授予sqlserver启动账户读写e:\SQLBackup的权限.

    "默认情况下sql server用户对这个目录是不具有读写权限的" 这个说法是错误的,是否有访问全要要根据sqlserver的启动账户的权限而定.
    有dba的职位吗
    表面上  "操作系统错误 3"这个错误是指制定路径不存在,并不是一个权限错误  但是实际上是因为无法创建那个文件 即便是存在那个权限 sql server 账户 如果对其没有读写权限 那么也会出错的 虽然不是这个错误
    如果添加了sql server 对那个目录的读写权限 那么是不会存在这样的问题的 之所以会找不到路径是因为没有写的权限
    如果有写的权限即便是之前那个bak文件不存在 也不会出现错误的 会自动的创建
    Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!My blog~~~
    • 已标记为答案 糊涂人 2009年11月16日 5:44
    2009年11月12日 1:20
  • 添加对那个目录的读写权限就可以了

    如果只是想添加单个文件的读写权限 直接建个空的记事本文件 然后文件名改成对应的既可以了 然后对这个文件添加读写权限


    Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!My blog~~~
    • 已标记为答案 糊涂人 2009年11月16日 5:44
    2009年11月12日 2:02

全部回复

  • 首先确认E:\SQLBackup\TestLogBAK.bak 这个文件是否存在,如果不存在手动创建
    默认情况下sql server用户对这个目录是不具有读写权限的,即便sp_adddumpdevice 可以执行成功 但并不会去真正创建这个文件的
    手动创建这个文件后,在属性中安全选项卡 添加用户 高级 立即查找 找到sql server 的用户(比如我电脑中是SQLServerMSSQLUser$Raymond$MYMSSQL2008) 添加后赋予其完全控制的权限就可以了

    或者是给想备份至的文件夹给sql server 用户添加权限

    Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!My blog~~~
    • 已标记为答案 糊涂人 2009年11月16日 5:44
    2009年11月11日 8:19
  • 首先确认E:\SQLBackup\TestLogBAK.bak 这个文件是否存在,如果不存在手动创建
    默认情况下sql server用户对这个目录是不具有读写权限的,即便sp_adddumpdevice 可以执行成功 但并不会去真正创建这个文件的
    手动创建这个文件后,在属性中安全选项卡 添加用户 高级 立即查找 找到sql server 的用户(比如我电脑中是SQLServerMSSQLUser$Raymond$MYMSSQL2008) 添加后赋予其完全控制的权限就可以了

    或者是给想备份至的文件夹给sql server 用户添加权限

    Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!My blog~~~

     "操作系统错误 3"这个错误是指制定路径不存在,并不是一个权限错误, sp_adddumpdeivce命令也不会去检查目录是否存在.    要解决楼主的问题,创建e:\sqlbackup这个目录即可.    如果创建之后执行备份后出现"系统错误5", 才表示权限问题. 这时要授予sqlserver启动账户读写e:\SQLBackup的权限.

    "默认情况下sql server用户对这个目录是不具有读写权限的" 这个说法是错误的,是否有访问权限要根据sqlserver的启动账户的权限而定.
    有dba的职位吗
    2009年11月12日 0:21
    版主
  • 首先确认E:\SQLBackup\TestLogBAK.bak 这个文件是否存在,如果不存在手动创建
    默认情况下sql server用户对这个目录是不具有读写权限的,即便sp_adddumpdevice 可以执行成功 但并不会去真正创建这个文件的
    手动创建这个文件后,在属性中安全选项卡 添加用户 高级 立即查找 找到sql server 的用户(比如我电脑中是SQLServerMSSQLUser$Raymond$MYMSSQL2008) 添加后赋予其完全控制的权限就可以了

    或者是给想备份至的文件夹给sql server 用户添加权限

    Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!My blog~~~

     "操作系统错误 3"这个错误是指制定路径不存在,并不是一个权限错误, sp_adddumpdeivce命令也不会去检查目录是否存在.    要解决楼主的问题,创建e:\sqlbackup这个目录即可.    如果创建之后执行备份后出现"系统错误5", 才表示权限问题. 这时要授予sqlserver启动账户读写e:\SQLBackup的权限.

    "默认情况下sql server用户对这个目录是不具有读写权限的" 这个说法是错误的,是否有访问全要要根据sqlserver的启动账户的权限而定.
    有dba的职位吗
    表面上  "操作系统错误 3"这个错误是指制定路径不存在,并不是一个权限错误  但是实际上是因为无法创建那个文件 即便是存在那个权限 sql server 账户 如果对其没有读写权限 那么也会出错的 虽然不是这个错误
    如果添加了sql server 对那个目录的读写权限 那么是不会存在这样的问题的 之所以会找不到路径是因为没有写的权限
    如果有写的权限即便是之前那个bak文件不存在 也不会出现错误的 会自动的创建
    Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!My blog~~~
    • 已标记为答案 糊涂人 2009年11月16日 5:44
    2009年11月12日 1:20
  • 那个路径不存在,如何添加权限呢?


    有dba的职位吗
    2009年11月12日 2:00
    版主
  • 添加对那个目录的读写权限就可以了

    如果只是想添加单个文件的读写权限 直接建个空的记事本文件 然后文件名改成对应的既可以了 然后对这个文件添加读写权限


    Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!My blog~~~
    • 已标记为答案 糊涂人 2009年11月16日 5:44
    2009年11月12日 2:02
  • Is e:\ a local disk on the server? If not, have to start sql services using domain account with proper permission.

    2009年11月12日 3:05
  • 同意楼上几位的观点,首先确认有E:\SQLBackup 这个目录。其次,查看运行SQL Server的帐号,确认该帐号对这个目录有读写权限。一般把SQL Server的运行帐号改为LocalSystem即可。

    2009年11月12日 5:49
  • 谢谢大家的帮忙!
    2009年11月16日 5:43