2017-08-02 122 views
0

我想從SQL管理工作室中使用xp_cmdshell將文件從遠程路徑複製到本地計算機。無法通過xp_cmdshell連接到遠程共享路徑

以下是我使用以下步驟:

1.建立連接

exec xp_cmdshell 'net use L: \\remoteServer\folder /user:domain\username ImPWD' 

2.重新連接

當我執行exec xp_cmdshell 'net use',L的狀態不可用。 所以我跑exec xp_cmdshell 'net use L:' 這反正沒有幫助。它仍然不可用!

3.複製文件

EXEC xp_cmdshell 'COPY L:\Fol1\SubFol2\File.xlsx C:\work\file.xlsx' 

這是錯誤我得到:

該系統找不到指定的文件。

我曾嘗試以下,但似乎沒有任何工作尚未:

  • 發現所使用的xp_cmdshell,並試圖連接到共享的路徑通過Windows UI用戶手工憑證,它似乎工作。因此我認爲沒有許可問題。 EXEC xp_cmdshell 'whoami.exe'

  • 以普通用戶和管理員身份運行查詢。兩者都產生相同的輸出。

這裏是我的問題:

  1. 我錯過了一些步驟?
  2. 爲什麼第一次連接後連接不可用?
  3. 如何刪除連接?即當我運行exec xp_cmdshell 'net use * /delete'它要求

是否要繼續此操作? (是/否)[N]: 我不知道如何使用管理工作室查詢來說'Y'。

感謝您的幫助提前! :)

+1

對於第三個問題:'exec xp_cmdshell'net use */delete/y''它會選擇是的默默 – lad2025

+1

@ lad2025謝謝!完美的作品!當我再次刪除並添加連接時,連接狀態變成'OK',此前'不可用'。現在剩下的唯一問題是,它仍然沒有複製。獲取相同的錯誤。 – Linda

+0

猜猜兩天瘋狂調試後我找到了答案!大聲笑!這只是文件夾名稱問題。文件夾名稱與空格!如果我用雙引號包裝路徑,它就像一個魅力! – Linda

回答

1

如何刪除連接?

要刪除連接使用:

exec xp_cmdshell 'net use * /delete /y' 

(是)進行默默地順利通過

至於其他問題:你在評論中提到,你在路徑文件夾中有空格,所以你可以:

  • 重命名文件夾
  • 包裝""