我們使用
對映驅動器備份
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 '
--:對映驅動器碟符 --: unc 共享路徑
2. 應該可以備份到上面建立的驅動器碟符了。
net use 文件參考:
這樣做的缺點是當sql server服務重啟的時候,對映的磁碟將會丟失。如果要持續對映磁碟,需要建立乙個啟動的儲存過程
。另外還有安全性的考量(xp_cmdshell)
簡單的辦法是直接用unc備份。這樣只需要確保sql server啟動賬戶有對於遠端共享資料夾有完全控制許可權。
理想情況下,服務不應該訪問本地對映驅動器,因為
本地對映驅動器在不同的
windows
版本會有不同的特性,上面提到的方法不一定在所有的情景下可用。
參考:180362 info: services and redirected drives
備份資料庫到對映盤
一定要在sqlserver2005裡面對映,在系統對映是不能用的 exec master.xp cmdshell net use z 192.168.0.11 其他備份 kq 278016tshily user 192.168.0.11 administrator 刪除對映 exec master....
對映資料庫到本地
對映資料庫到本地,一般使用場景是第三方資料庫版本過高,jdk版本不支援那麼高的伺服器,比如說jdk6不支援sqlserver2016,解決辦法就是在本地sqlserver建立橋接 也算是軟連線 到對方高版本資料庫 通過ip 然後 連線本地資料庫,在訪問資料來源的時候帶上連線名。本例連線名是srv l...
oracle如何備份資料庫
1.建立表空間 sql命令 create tablespace jeefh2 gblz17 logging datafile u02 oradata orcl jeefh2 gblz17.dbf 表空間檔案儲存位置 size 1024m 表空間檔案初始大小 autoextend on 表空間自動增長...