SQL Server 備份和還原的如何使網絡驅動器

一、問題
最近有一個SQLSERVER的數據庫遷移項目,采用的方法是全量備份+差異備份,然后在目標機器上進行還原,由于源庫的數據量非常大,大概10T左右,所以打算直接備份至target機器,然后再進行還原。但是SQLSERVER默認不識別網絡映射驅動器。該怎么辦?本文分享一下具體的實施過程和方法。
二、解決方案
當我們使用 SQL Server Management Studio 瀏覽網絡驅動器時,只能看到本地驅動器。在本文 中,我們將展示如何查看其他驅動器以便使用 SSMS 進行備份恢復。當您嘗試從 SQL Server Management Studio 瀏覽存放備份的驅動器時,您會發現只有本地驅動器,具體如下:

1、映射網絡驅動器
為了使網絡共享對 SQL Server 可見,首先將其映射為網絡驅動器。您需要使用 Windows 操作系統中的“映射網絡驅動器”來映射網絡共享:

要在 SQL Server 中識別該網絡驅動器,您需要使用 xp_cmdshell 命令。在此之前,您需要確保在您的 SQL 實例中啟用了 xp_cmdshell 命令,因為默認情況下它是禁用的。可以使用 sp_configure 命令啟用它,如下所示:
EXEC sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
EXEC sp_configure 'xp_cmdshell',1
GO
RECONFIGURE
GO
現在使用 xp_cmdshell 命令為 SQL 定義共享驅動器,如下所示:
EXEC XP_CMDSHELL 'net use H: \\RemoteServerName\ShareName'映射完成后,為了驗證新驅動器,您可以使用以下命令顯示該新映射驅動器中的所有文件:
EXEC XP_CMDSHELL 'Dir H:'讓我們再次嘗試使用 SQL Server Management Studio 瀏覽路徑。正如我們在下面看到的,我們現在可以看到 H: 驅動器:

現在共享驅動器是可見的,可以將任何數據庫備份到該網絡路徑,因為它現在對 SSMS 中的 SQL Server 可見。
2、刪除映射的驅動器
當你不需要映射的驅動器之后,您也可以使用以下命令刪除該路徑:
EXEC XP_CMDSHELL 'net use H: /delete'三、小結
本文討論了如何在SQLSERVER中如何映射網絡驅動器的方法。























