如果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. react-native android/ios 手动/自动 修改版本号

    目录 一 手动操作 1.Android 2.IOS 二 自动从配置文件读取并写入相应的地方 1.package.json配置版本 2.Android: 3.IOS 添加sell代码 当版本迭代时候要修 ...

  2. Pandas学习(三)——NBA球员薪资分析

    欢迎加入python学习交流群 667279387 学习笔记汇总 Pandas学习(一)–数据的导入 pandas学习(二)–双色球数据分析 pandas学习(三)–NAB球员薪资分析 pandas学 ...

  3. Java修炼——容器HashMap用法

    直接上代码,容器集合之间的关系在后面我会继续详细分析,这次先看HashMap用法 HashMap的方法都在代码中有解释.有需要的可以仔细看看 package com.bjsxt.map; import ...

  4. 最新28道java基础面试题-上

    28道java基础面试题 1.面向对象的特征有哪些方面? 答:面向对象的特征主要有以下几个方面: 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面.抽象只关注对象有哪 ...

  5. BZOJ 1861书架

    小T有一个很大的书柜.这个书柜的构造有些独特,即书柜里的书是从上至下堆放成一列.她用1到n的正整数给每本书都编了号. 小T在看书的时候,每次取出一本书,看完后放回书柜然后再拿下一本.由于这些书太有吸引 ...

  6. UESTC-1963咸鱼咕咕咕(二分图匹配)

    咸鱼咕咕咕 Time Limit: 1000 MS     Memory Limit: 64 MB Submit Status 咸鱼有个咕咕笼. 咕咕笼可以划分成m×nm×n个格子,每个小格子可以放下 ...

  7. SpringBoot系列之集成Mybatis教程

    SpringBoot系列之集成Mybatis教程 环境准备:IDEA + maven 本博客通过例子的方式,介绍Springboot集成Mybatis的两种方法,一种是通过注解实现,一种是通过xml的 ...

  8. 怎么定义一个自己的vue组件

    1.在src文件夹中创建一个hello文件夹,然后创建hello.js和hello.vue 2.hello.vue代码如下 <template> <button>这是hello ...

  9. prometheus动态刷新rule

    Prometheus的target是支持动态更新的,例如通过file_sd_configs配置将target放置到yaml文件中,当yaml文件中的内容发生变化时,Prometheus会自动更新自身的 ...

  10. java基础集合简介Map(三)下

    --Map接口简介 今天来看一看map集合,map映射接口,用于存放键值对,<key,value>,通过key来查找value,顾名思义key不能为空,唯一且不重复,不然底层怎么查呢! 可 ...