如果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. [TimLinux] Python 修改进程显示出的标题

    1. 安装依赖 https://github.com/timscm/py-setproctitle/archive/version-1.1.10.tar.gz 2. 启动进程 import timei ...

  2. cesium 结合 geoserver 实现地图属性查询(附源码下载)

    前言 cesium 官网的api文档介绍地址cesium官网api,里面详细的介绍 cesium 各个类的介绍,还有就是在线例子:cesium 官网在线例子,这个也是学习 cesium 的好素材. 内 ...

  3. 国内下载vscode速度慢解决

    找到对应的文件,点击下载,会出现一个类似下面的链接: https://az764295.vo.msecnd.net/stable/f06011ac164ae4dc8e753a3fe7f9549844d ...

  4. 【C语言】%f,%lf,%3.1f

    在输出时应注意变量类型,使用如%3.1时会默认四舍五入.

  5. JavaScript数组去重(12种方法,史上最全)

    参考博客:https://segmentfault.com/a/1190000016418021?utm_source=tag-newest

  6. 通过Redis 实现分布式锁_利用Jedis 客户端

    前言 分布式锁一般有三种实现方式: 数据库乐观锁:2. 基于Redis的分布式锁:3. 基于ZooKeeper的分布式锁. 本篇博客将介绍第二种方式,基于Redis实现分布式锁. 虽然网上已经有各种介 ...

  7. 人生苦短,我用Python(1)

    1.Python保留字与标识符 保留字是Python语言中一些已经被赋予特定意义的单词,开发程序时,不可以把这些保留字作为变量.函数.类.模块和其他对象的名称来使用. and as assert br ...

  8. NIO Buffer 内部机理使用姿势

    关于NIO Buffer中4个重要状态属性 position.limit.capacity 与 mark Buffer本身是一个容器,称作缓冲区,里面包装了特定的一种原生类型,其子类包括ByteBuf ...

  9. C语言每日一练——第1题

    一.程序功能 程序的功能是:将大于整数m且紧靠m的k个素数存入数组xx.并把in.dat文件的内容输入到程序,并把输出结果输出道out.dat文件夹中例如:若输入17,5 则应该输入:19,23,29 ...

  10. pycharm连接mysql

    pycharm 换成2019之后连接数据库用户名密码数据库名字都没错,就是连接不上去,网上百度一下,试试将URL后面拼接 ?useSSL=false&serverTimezone=UTC 发现 ...