如果YourSQLDba设置过共享路径备份(具体参考博客YourSQLDba设置共享路径备份),有时候服务器重启后,备份就会出错,具体错误信息类似如下所示:

Date        2019/9/25 10:10:00

Log        SQL Server (Current - 2019/9/25 3:06:00)

 

Source        spid56

 

Message

BackupDiskFile::CreateMedia: Backup device 'M:\xxx\LOG_BACKUP\msdb_[2019-09-24_00h08m06_Tue]_logs.TRN' failed to create. Operating system error 3(系统找不到指定的路径。).

出现这个问题,需要使用Exec YourSQLDba.Maint.CreateNetworkDriv设置网络路径,即使之前设置过网络路径,查询[YourSQLDba].[Maint].[NetworkDrivesToSetOnStartup]表也有相关网络路径设置,但是确实需要重新设置才能消除这个错误。

EXEC sp_configure 'show advanced option', 1;

GO

RECONFIGURE;

GO

sp_configure 'xp_cmdshell', 1;

GO

RECONFIGURE;

GO

 

EXEC YourSQLDba.Maint.CreateNetworkDrives @DriveLetter = 'M:\',

    @unc = 'xxxxxxxxxx;

GO

 

 

sp_configure 'xp_cmdshell', 0;

GO

 

EXEC sp_configure 'show advanced option', 1;

GO

RECONFIGURE;

查看了一下 [Maint].[CreateNetworkDrives]存储过程,应该是重启过后,需要运行net use这样的命令进行相关配置。

USE [YourSQLDba]

GO

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

ALTER proc [Maint].[CreateNetworkDrives] 

  @DriveLetter nvarchar(2) 

, @unc nvarchar(255) 

as

Begin

  Declare @errorN int

  Declare @cmd nvarchar(4000)

 

  Set nocount on

 

  Exec yMaint.SaveXpCmdShellStateAndAllowItTemporary 

 

  Set @DriveLetter=rtrim(@driveLetter)

  Set @Unc=rtrim(@Unc)

 

  If Len(@DriveLetter) = 1

    Set @DriveLetter = @DriveLetter + ':'

 

  If Len(@Unc) >= 1

  Begin

    Set @Unc = yUtl.NormalizePath(@Unc)

    Set @Unc = Stuff(@Unc, len(@Unc), 1, '')

  End

 

  Set @cmd = 'net use <DriveLetter> /Delete'

  Set @cmd  = Replace( @cmd, '<DriveLetter>', @DriveLetter)

  

 

  begin try 

    Print @cmd

    exec xp_cmdshell @cmd, no_output

  end try 

  begin catch 

  end catch

 

  -- suppress previous network drive definition

  If exists(select * from Maint.NetworkDrivesToSetOnStartup Where DriveLetter = @driveLetter)

  Begin

    Delete from Maint.NetworkDrivesToSetOnStartup Where DriveLetter = @driveLetter

  End

 

  Begin Try

    

    Set @cmd = 'net use <DriveLetter> <unc>'

    Set @cmd  = Replace( @cmd, '<DriveLetter>', @DriveLetter )

    

    Set @cmd  = Replace( @cmd, '<unc>', @unc )

    Print @cmd

    exec xp_cmdshell @cmd

 

    Insert Into Maint.NetworkDrivesToSetOnStartup (DriveLetter, Unc) Values (@DriveLetter, @unc)

    

    Exec yMaint.RestoreXpCmdShellState 

 

  End Try

  Begin Catch

    Set @errorN = ERROR_NUMBER() -- return error code

    Print convert(nvarchar, @errorN) + ': ' + ERROR_MESSAGE() 

    Exec yMaint.RestoreXpCmdShellState 

  End Catch

 

End -- Maint.CreateNetworkDrives

YourSQLDba的共享路径备份遭遇重启问题的更多相关文章

  1. YourSQLDba设置共享路径备份

    YourSQLDba可以将数据库备份到网络路径(共享路径),这个也是非常灵活的一个功能,以前一直没有使用过这个功能,最近由于一个需求,于是我测试了一下YourSQLDba备份到网络路径,中间遇到了一些 ...

  2. Redis数据备份和重启恢复

    一.对Redis持久化的探讨与理解 目前Redis持久化的方式有两种: RDB 和 AOF 首先,我们应该明确持久化的数据有什么用,答案是用于重启后的数据恢复. Redis是一个内存数据库,无论是RD ...

  3. 【转】Redis数据备份和重启恢复

    一.对Redis持久化的探讨与理解 目前Redis持久化的方式有两种: RDB 和 AOF 首先,我们应该明确持久化的数据有什么用,答案是用于重启后的数据恢复.Redis是一个内存数据库,无论是RDB ...

  4. WIN7 局域网共享打印机每次电脑重启后必须登录密码重新连接问题修复

    第一步,WIN+R(或者开始->附件->运行)输入gpedit或gpedit.msc 进入 第二步:把这几个拒绝的Guest给删除掉,也可以只删除""拒绝从王洛访问这台 ...

  5. SQL Sever 博客文章目录(2016-07-06更新)

    SQL Server方面的博客文章也陆陆续续的写了不少了,顺便也将这些知识点整理.归纳一下下.方便自己和他人查看. MS SQL 数据类型 三大数据库对比研究系列--数据类型 MS SQL 表和视图 ...

  6. Linux服务器上迁移项目路径,修改nginx配置,迁移及备份MongoDB数据库流程 (超详细)!!!

    缘由:客户服务器项目路径不是很合理,导致Jenkins自动部署时还需要添加路径后再更新部署,所以需要把项目路径统一和规范化. 迁移项目路径,保证路径合规,同时做好备份和迁移.迁移后先安装好依赖. 项目 ...

  7. 【转】Ubuntu下配置支持Windows访问的samba共享

    原文网址:http://blog.csdn.net/i_chips/article/details/19191957 一.安装Ubuntu samba服务器 $ sudo apt-get instal ...

  8. 【转】centos安装memcached+php多服务器共享+session多机共享问题

    参考博文: centos安装memcached 源码安装 Yum安装Memcache Memcached内存分配优化及使用问题 <转>php+memcached 实现session共享 P ...

  9. elasticsearch数据备份与sshfs建立共享文件

    1.背景: 最近公司为了适应业务的发展,利用elasticsearch搜索引擎搭建了两个节点.为了防止数据丢失的特殊情况,需要定时做数据备份,而由于elasticsearch为两个节点分别在不同的服务 ...

随机推荐

  1. Mac 中环境变量的配置

    1. 基本了解 1.1. 查看当前path 在讲解Mac环境变量配置之前,大家可以打开dos框,输入 echo $PATH 查看当前的path. 本机结果: /usr/local/bin:/usr/l ...

  2. Spring源码学习笔记之基于ClassPathXmlApplicationContext进行bean标签解析

    bean 标签在spring的配置文件中, 是非常重要的一个标签, 即便现在boot项目比较流行, 但是还是有必要理解bean标签的解析流程,有助于我们进行 基于注解配置, 也知道各个标签的作用,以及 ...

  3. Coderfocers-551C

    Professor GukiZ is concerned about making his way to school, because massive piles of boxes are bloc ...

  4. Codeforces 题解 CF863A 【Quasi-palindrome】

    此题本质上是:求一个数去掉后缀零后是否是回文串 因此,代码分为: >>> 读入 >>> 删除后缀0 >>> 判断回文 >>> 转 ...

  5. Python网络爬虫入门实战(爬取最近7天的天气以及最高/最低气温)

    _ 前言 本文文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: Bo_wen   最近两天学习了一下python,并自己写了一个 ...

  6. ARTS-S C语言多线程传参数

    #include <stdio.h> #include <stdlib.h> #include <pthread.h> #include <unistd.h& ...

  7. 【算法】273-每周一练 之 数据结构与算法(Tree)

    这是第六周的练习题,最近加班比较多. 下面是之前分享的链接: [算法]200-每周一练 之 数据结构与算法(Stack) [算法]213-每周一练 之 数据结构与算法(LinkedList) [算法] ...

  8. JS基础-this

    this this的指向有哪几种情况? this代表函数调用相关联的对象,通常页称之为执行上下文. 作为函数直接调用,非严格模式下,this指向window,严格模式下,this指向undefined ...

  9. centos7 启动停止命令

    apache启动systemctl start httpd停止systemctl stop httpd重启systemctl restart httpd mysql启动systemctl start ...

  10. 《Java基础知识》Java数据类型以及变量的定义

    Java 是一种强类型的语言,声明变量时必须指明数据类型.变量(variable)的值占据一定的内存空间.不同类型的变量占据不同的大小. Java中共有8种基本数据类型,包括4 种整型.2 种浮点型. ...