YourSQLDba的共享路径备份遭遇重启问题
如果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的共享路径备份遭遇重启问题的更多相关文章
- YourSQLDba设置共享路径备份
YourSQLDba可以将数据库备份到网络路径(共享路径),这个也是非常灵活的一个功能,以前一直没有使用过这个功能,最近由于一个需求,于是我测试了一下YourSQLDba备份到网络路径,中间遇到了一些 ...
- Redis数据备份和重启恢复
一.对Redis持久化的探讨与理解 目前Redis持久化的方式有两种: RDB 和 AOF 首先,我们应该明确持久化的数据有什么用,答案是用于重启后的数据恢复. Redis是一个内存数据库,无论是RD ...
- 【转】Redis数据备份和重启恢复
一.对Redis持久化的探讨与理解 目前Redis持久化的方式有两种: RDB 和 AOF 首先,我们应该明确持久化的数据有什么用,答案是用于重启后的数据恢复.Redis是一个内存数据库,无论是RDB ...
- WIN7 局域网共享打印机每次电脑重启后必须登录密码重新连接问题修复
第一步,WIN+R(或者开始->附件->运行)输入gpedit或gpedit.msc 进入 第二步:把这几个拒绝的Guest给删除掉,也可以只删除""拒绝从王洛访问这台 ...
- SQL Sever 博客文章目录(2016-07-06更新)
SQL Server方面的博客文章也陆陆续续的写了不少了,顺便也将这些知识点整理.归纳一下下.方便自己和他人查看. MS SQL 数据类型 三大数据库对比研究系列--数据类型 MS SQL 表和视图 ...
- Linux服务器上迁移项目路径,修改nginx配置,迁移及备份MongoDB数据库流程 (超详细)!!!
缘由:客户服务器项目路径不是很合理,导致Jenkins自动部署时还需要添加路径后再更新部署,所以需要把项目路径统一和规范化. 迁移项目路径,保证路径合规,同时做好备份和迁移.迁移后先安装好依赖. 项目 ...
- 【转】Ubuntu下配置支持Windows访问的samba共享
原文网址:http://blog.csdn.net/i_chips/article/details/19191957 一.安装Ubuntu samba服务器 $ sudo apt-get instal ...
- 【转】centos安装memcached+php多服务器共享+session多机共享问题
参考博文: centos安装memcached 源码安装 Yum安装Memcache Memcached内存分配优化及使用问题 <转>php+memcached 实现session共享 P ...
- elasticsearch数据备份与sshfs建立共享文件
1.背景: 最近公司为了适应业务的发展,利用elasticsearch搜索引擎搭建了两个节点.为了防止数据丢失的特殊情况,需要定时做数据备份,而由于elasticsearch为两个节点分别在不同的服务 ...
随机推荐
- [TimLinux] Python 修改进程显示出的标题
1. 安装依赖 https://github.com/timscm/py-setproctitle/archive/version-1.1.10.tar.gz 2. 启动进程 import timei ...
- cesium 结合 geoserver 实现地图属性查询(附源码下载)
前言 cesium 官网的api文档介绍地址cesium官网api,里面详细的介绍 cesium 各个类的介绍,还有就是在线例子:cesium 官网在线例子,这个也是学习 cesium 的好素材. 内 ...
- 国内下载vscode速度慢解决
找到对应的文件,点击下载,会出现一个类似下面的链接: https://az764295.vo.msecnd.net/stable/f06011ac164ae4dc8e753a3fe7f9549844d ...
- 【C语言】%f,%lf,%3.1f
在输出时应注意变量类型,使用如%3.1时会默认四舍五入.
- JavaScript数组去重(12种方法,史上最全)
参考博客:https://segmentfault.com/a/1190000016418021?utm_source=tag-newest
- 通过Redis 实现分布式锁_利用Jedis 客户端
前言 分布式锁一般有三种实现方式: 数据库乐观锁:2. 基于Redis的分布式锁:3. 基于ZooKeeper的分布式锁. 本篇博客将介绍第二种方式,基于Redis实现分布式锁. 虽然网上已经有各种介 ...
- 人生苦短,我用Python(1)
1.Python保留字与标识符 保留字是Python语言中一些已经被赋予特定意义的单词,开发程序时,不可以把这些保留字作为变量.函数.类.模块和其他对象的名称来使用. and as assert br ...
- NIO Buffer 内部机理使用姿势
关于NIO Buffer中4个重要状态属性 position.limit.capacity 与 mark Buffer本身是一个容器,称作缓冲区,里面包装了特定的一种原生类型,其子类包括ByteBuf ...
- C语言每日一练——第1题
一.程序功能 程序的功能是:将大于整数m且紧靠m的k个素数存入数组xx.并把in.dat文件的内容输入到程序,并把输出结果输出道out.dat文件夹中例如:若输入17,5 则应该输入:19,23,29 ...
- pycharm连接mysql
pycharm 换成2019之后连接数据库用户名密码数据库名字都没错,就是连接不上去,网上百度一下,试试将URL后面拼接 ?useSSL=false&serverTimezone=UTC 发现 ...