簡體   English   中英

映射驅動器並備份SQL Server數據庫

[英]Mapping a drive and backing up a SQL Server database

我們將SQL Server數據庫備份到NAS,並且很好奇是否有可能備份到與UNC路徑相反的臨時映射驅動器。 我撞牆了。

使用New-PSDrive:

New-PSDrive -Name "Y" -PSProvider FileSystem -Root "\\NAS\Backups" -Scope Global -Persist

Test-Path "Y:\SQLDBA" <# returns True #>

<# Method 1 #>
sqlcmd -E -d master -Q "BACKUP DATABASE [SQLDBA] TO DISK = N'Y:\SQLDBA\SQLDBA.bak' WITH INIT" -b
<# Method 2 #>
Invoke-Sqlcmd -Database master -Query "BACKUP DATABASE [SQLDBA] TO DISK = N'Y:\SQLDBA\SQLDBA.bak' WITH INIT" -QueryTimeout 999999999 -verbose -ErrorAction Stop  

Remove-PSDrive "Y"

使用網絡使用:

net use Y: \\NAS\Backups /persistent:yes

<# Method 1 #>
sqlcmd -E -d master -Q "BACKUP DATABASE [SQLDBA] TO DISK = N'Y:\SQLDBA\SQLDBA.bak' WITH INIT" -b
<# Method 2 #>
Invoke-Sqlcmd -Database master -Query "BACKUP DATABASE [SQLDBA] TO DISK = N'Y:\SQLDBA\SQLDBA.bak' WITH INIT" -QueryTimeout 999999999 -verbose -ErrorAction Stop  

net use Y: /delete

兩種方法都會得到相同的錯誤:

無法打開備份設備“ Y:\\ SQLDBA \\ SQLDBA.bak”。 操作系統錯誤3(系統找不到指定的路徑。)。

這可能嗎?

不它不是。 會話中存在映射的驅動器。 (SQL Server的)服務器進程具有自己的會話,因此看不到映射的驅動器。

若要在域用戶帳戶中運行SQL Server時備份到網絡驅動器,必須在運行SQL Server的會話中將共享驅動器映射為網絡驅動器。 如果從命令行啟動Sqlservr.exe,則SQL Server會看到您在登錄會話中映射的所有網絡驅動器。

請檢查以下文章以供參考:

http://msdn.microsoft.com/zh-cn/library/ms179313.aspx#NetworkShare

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM