最近遇到一個case:
某個DB從來沒在刪資料,導致其所有的data files過大,Server裡所有磁碟已經不夠存放其DB的所有data files。
我們需要將他備份,保存去別的地方,並刪除此DB過舊的資料再shirnk,解決DB過大導致Disk空間不夠的問題
而第一步就遇到困境,因為此Server已經沒有足夠的磁碟存放備份檔....
一直以來以為備份資料庫只能備份到本機的Disk...
但因為此Server的Disk已經全部沒有足夠空間存放備份檔,
搜尋了網路的資料後發現原來Backup可以備份到遠端電腦,只要在Path地方改成本機可以連去遠端的Network Path即可。
假設我們想將此DB備份到ServerB某個Disk的Eva Folder,如下面的語法:
BACKUP DATABASE [Eva]
TO DISK = N'\\ServerB\Eva\Eva.bak' WITH NOFORMAT, NOINIT,
NAME = N'Eva-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10
GO
跑之後發現此Server沒有ServerB的權限,因為ServerB的Eva Folder沒有開everyone的read/write權限
(或是自己額外create一個Login,但因為我這邊只是暫時要備份DB過去而已,平常還是以備份到本機為主,故在此case我選擇使用everyone較為方便)
故,我們進去ServerB 裡面,更改Eva的資料夾權限後:
再跑一次上面的script,即可去ServerB的Eva Folder裡查看,已備份成功:
最後,記得把ServerB的Eva Folder everyone的權限拿掉以確保安全。