如何备份数据库到本地映射网络驱动器
来源:互联网 发布:python字符转换成数字 编辑:程序博客网 时间:2024/05/29 14:31
我们使用映射驱动器备份SQL Server数据库的时候可能会遇到下面的错误:
”失败,错误如下:“无法打开备份设备 'z:\GBDB_backup_201306302002.bak'。出现操作系统错误 3(系统找不到指定的路径。)。
数据库无法找到路径,但是如果我们直接打开的话是可以正常访问的,那么为什么SQL Server无法访问呢?
因为SQL Server是作为Service运行的,所以无法感知到共享路径映射的网络驱动盘。因为SQL Server服务使用SQL Server启动账户安全上下文运行在本地控制台上下文环境。而映射磁盘驱动器只是对于特定的Session可见,对于在本地控制台上下文环境中启动的服务是不可见的。
如果一定要备份到映射磁盘可以使用下面的方法:
1. 打开SQL Server运行下面的命令 EXEC xp_cmdshell 'net use <drivename> <share name>'
--<drive name>:映射驱动器盘符 --<share name>: UNC 共享路径
2. 应该可以备份到上面创建的驱动器盘符了。
Net use 文档参考:http://technet.microsoft.com/en-us/library/bb490717.aspx
这样做的缺点是当SQL Server服务重启的时候,映射的磁盘将会丢失。如果要持续映射磁盘,需要创建一个启动的存储过程。另外还有安全性的考量(xp_cmdshell)
简单的办法是直接用UNC备份。这样只需要确保SQL Server启动账户有对于远程共享文件夹有完全控制权限。
理想情况下,服务不应该访问本地映射驱动器,因为本地映射驱动器在不同的Windows版本会有不同的特性,上面提到的方法不一定在所有的情景下可用。
参考:180362 INFO: Services and Redirected Drives
原文来自: How to backup SQL Server databases to a mapped drive
- 如何备份数据库到本地映射网络驱动器
- 如何映射网络驱动器
- 如何映射网络驱动器?
- 如何把网络共享目录映射为本地驱动器
- Windows下如何将服务器目录映射到本地驱动器
- 如何设置到映射网络驱动器的超时连接时间
- 如何把网络共享目录映射为本地驱动器(续)
- [愚翁专栏]如何把网络共享目录映射为本地驱动器
- [愚翁专栏]如何把网络共享目录映射为本地驱动器(续)
- 如何将远程数据库备份到本地
- SQL 如何 远程备份数据库到本地
- 如何在应用程序中映射网络驱动器
- 如何映射网络驱动器(转载)
- 详细讲解如何映射网络驱动器
- 如何将远程SQL Server数据库备份到本地数据库
- 映射网络驱动器脚本
- 映射网络驱动器
- 映射网络驱动器
- TCP服务器最大能支持多少长连接
- A. Ciel and Dancing
- Linux 安装.src.rpm源码包的方法
- PHP @ at 记号的作用
- linux中fork()函数详解
- 如何备份数据库到本地映射网络驱动器
- ui设计书籍推荐
- 文件读操作过程探究
- 内核线程和普通进程的区别
- StringTokenizer
- Windows下如何生成使用库文件
- 论学习笔记的重要性
- 虚函数
- java/android循序渐进