亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》
  • 首頁 > 
  • 教程 > 
  • 數據庫 > 
  • SQL Server使用xp_cmdshell提示“不是內部或外部命令,也不是可運行的程序 或批處理文件”

SQL Server使用xp_cmdshell提示“不是內部或外部命令,也不是可運行的程序 或批處理文件”

發布時間:2020-08-08 16:58:05 來源:網絡 閱讀:3447 作者:lengfei0905 欄目:數據庫

    數據遷移后,使用SQL Server 2012 備份數據庫,備份完成后自動壓縮成rar文件,以前執行沒有問題的語句現在只能做備份,而不能自動壓縮并刪除備份,說明問題出在執行備份后壓縮時出現問題。將語句復制到查詢分析器執行報錯,提示“RAR.EXE不是內部或外部命令,也不是可運行的程序 或批處理文件”。

SQL語句如下:

/*自動壓縮文件,并在壓縮完成后刪除原文件*/

declare @sqlPathB  varchar(150)   ---數據路徑

set @sqlPathB='RAR.EXE  a -dw -ep E:\EFBackup\EFNETSYS\EFNETSYS'+rtrim(convert(varchar(20),getdate(),112))+'.rar '  --創建壓縮文件及存放路徑,-df或-dw表示壓縮后即刪除原文件,-ep表壓縮包內不帶路徑

+'E:\EFBackup\EFNETSYS\EFNETSYS'+rtrim(convert(varchar(20),getdate(),112))+'0000.bak'  --取被壓縮文件及路徑

exec xp_cmdshell @sqlPathB



    首先,檢查環境變量。

    自動壓縮需調用WinRar的Rar.exe,我的WinRar安裝在D盤,上面的SQL語句執行時,需使用WinRar安裝目錄下的Rar.exe,因此,環境變量中必須添加WinRra安裝路徑。經檢查發現,因為數據庫遷移,環境變量忘記添加。按以下順序添加(以Win server 2008為例):

1、桌面上右鍵【計算機】,找到【屬性】,點擊【高級系統設置】,調出【系統屬性】對話框,并找到【環境變量】

SQL Server使用xp_cmdshell提示“不是內部或外部命令,也不是可運行的程序 或批處理文件”

2、點開【環境變量】,在【系統變量】里,找到并選中【Path】變量,點擊【編輯】以打開【編輯系統變量】對話框

SQL Server使用xp_cmdshell提示“不是內部或外部命令,也不是可運行的程序 或批處理文件”

3、在打開的對話框里,將WinRar的安裝路徑放在【變量值】的最后,我這里是D:\Program Files\WinRAR,這里要注意,新放置的路徑,與其他路徑要用半角分號進行分隔。

SQL Server使用xp_cmdshell提示“不是內部或外部命令,也不是可運行的程序 或批處理文件”

4、添加完后,一路確定返回即可。

5、測試是否正常,在CMD中,執行“rar.exe”,回車,窗口列出命令用法,說明設置成功。

SQL Server使用xp_cmdshell提示“不是內部或外部命令,也不是可運行的程序 或批處理文件”


設置完成后,應該可以正常使用,誰知,執行SQL語句后依然不能正常進行壓縮,問題仍未解決,既然在DOS命令窗口rar.exe可以正常執行,說明問題與壓縮命令沒有關系,繼續查找原因。


其次,檢查SQL Server設置。

因為只是在SQL中調用xp_cmdshell組件,現在rar.exe在DOS命令窗口可以正常運行,現在只好從SQL Server入手查找原因。因為數據庫壓縮備份是利用SQL Server代理來自動執行的,現從這里入手:

1、打開SQL Server配置管理器,找到SQL Server服務,查看SQL Server代理服務

SQL Server使用xp_cmdshell提示“不是內部或外部命令,也不是可運行的程序 或批處理文件”2、突然發現SQL Server代理的登錄身份為LocalService。

想到以前也有一次是因為登錄身份導致SQL使用問題,后來改成LocalSyste就可以正常使用,懷疑是登錄身份的權限不足,導致無法正常調用rar.exe導致的。

3、修改SQL Server代理的登錄身份為LocalSystem。

在SQL代理服務上右鍵,選擇屬性,打開SQL代理屬性對話框,并在登錄身份為的內置賬戶下接菜單,將Local Service更為Local System,之后點擊確定。

SQL Server使用xp_cmdshell提示“不是內部或外部命令,也不是可運行的程序 或批處理文件”

系統提示因帳戶變更,SQL代理服務重啟,點擊是重啟服務即可。

SQL Server使用xp_cmdshell提示“不是內部或外部命令,也不是可運行的程序 或批處理文件”


設置完成后,再次執行SQL語句,發現壓縮成功。



總結:

xp_cmdshell在執行cmd命令時,除要正確配置必要的環境變量外,還要給予命令執行所涉及到的必須的權限。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

哈巴河县| 桓仁| 崇仁县| 渭源县| 民乐县| 内江市| 江西省| 瓦房店市| 离岛区| 剑河县| 靖宇县| 威信县| 五大连池市| 凤翔县| 自贡市| 涞源县| 乐业县| 古浪县| 阿克| 辽阳县| 新化县| 华亭县| 兴义市| 堆龙德庆县| 丰原市| 盘锦市| 大关县| 英山县| 胶州市| 衡水市| 搜索| 九龙坡区| 郑州市| 安平县| 北碚区| 大同市| 平邑县| 定西市| 贵溪市| 荔波县| 阿拉尔市|