[英]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.