如果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. iOS 自定义TabBarController

    转自:http://blog.csdn.net/xn4545945/article/details/35994863 一.自定义的思路 iOS中的TabBarController确实已经很强大了,大部 ...

  2. 第二节.NET两种交互模式:c/s和b/s

    1.什么是c/s           c指的是client(客户端),s指的是服务器模式,c/s是client/Server的缩写,客户端需要安装专业的客户端软件,如我们用的qq.酷狗音乐等客户端软件 ...

  3. 通过Centreon监控apache、MySQL、Hadoop服务状态

    在上面的章节中,只是简单介绍了Centreon的几个基础监控项,例如添加主机.服务等,这些对于一个监控系统来说是远远不够的,本节将重点介绍对一些扩展服务的监控,也就是对一些常见应用的监控. 一. Na ...

  4. 使用笛卡尔积生成sku

    /// <summary> /// 生成SKU价格表 /// </summary> /// <param name="model"></p ...

  5. 2019年Java并发精选面试题,哪些你还不会?(含答案和思维导图)

    Java 并发编程 1.并发编程三要素? 2.实现可见性的方法有哪些? 3.多线程的价值? 4.创建线程的有哪些方式? 5.创建线程的三种方式的对比? 6.线程的状态流转图 7.Java 线程具有五中 ...

  6. java—将数据库读取的list转tree

    一.引言 有时候我们从数据库中读取出了一个表的数据,比如存储的是中国的省市县的ID.名称与父节点ID,读出来的数据并不是前台想要的,这个时候我们要想法处理一下都出来的list,将它变为一个树. 比如直 ...

  7. 解读setTimeout, promise.then, process.nextTick, setImmediate的执行顺序

    最近在看<Node.js调试指南>的时候遇到有意思的几道题,是关于setTimeout, promise.then, process.nextTick, setImmediate的执行顺序 ...

  8. vue-cli项目中引入第三方插件

    前言 最近有小伙伴问道如何在vue-cli项目中引入第三方插件或者库,例如如果想在项目中使用jQuery中的Ajax请求数据呢?或者我想使用Bootstrap框架呢?等等这些问题,本篇博客将带你学习如 ...

  9. JavaScript图形实例:五角星

    1.五角星 在半径为80的圆周上取5个点,用这5个点依次首尾连接画5条线,可以绘制出一个五角星图案. 编写如下的HTML代码. <!DOCTYPE html> <head> & ...

  10. 终极CURD-4-java8新特性

    目录 1 概述 2 lambda表达式 2.1 lambda重要知识点总结 2.2 java内置函数接口 2.3 方法引用 2.4 构造器引用 2.5 数组引用 2.6 lambda表达式的陷阱 3 ...