现在的位置: 首页 > 综合 > 正文

關於 xp_cmdshell 的使用

2014年09月05日 ⁄ 综合 ⁄ 共 604字 ⁄ 字号 评论关闭

1. xp_cmdshell 簡介

xp即eXtended Procedure,MSSQL中以XP打頭的系統SP都是擴展存儲過程。xp_cmdshell 可以傳遞一串命令給CMD去執行。為了安全,這個功能在MSSQL中默認是未開啟的,開啟方法見BOI文檔

2. xp_cmdshell在T-SQL中的典型應用

a)用 xp_cmdshell 執行 bcp 進行數據的導入與導出

b)用 xp_cmdshell 映射網絡驅動器,遠程拷貝文件,比如將數據庫備份後,再拷貝到其他服務器上,間接實現遠程備份

3.一個常見問題

同命令在CMD中可以成功執行,但放到SSMS中用 xp_cmdshell  來執行卻頻頻報錯。

網上找資料,很多說是 xp_cmdshell 的權限問題,其實歸根到底是sql server服務MSSQLSERVER的權限問題,它的三個內置帳戶(Built-in Account):Local System、Network Service 和 Local Service 的權限依次降低,但也有不同的限制。 具體請猛擊這...裏

所以,解決以上問題可以通過依次切換那三個帳戶,重啟SQL服務,然後再試驗看運行結果的方式來進行,如果三個帳戶都是各種報錯,就配置以管理員的帳戶。

操作方法:開始----Microsoft SQL Server----配置工具----SQL Server服務----SQL Server(MSSQLSERVER),右鍵屬性:

【上篇】
【下篇】

抱歉!评论已关闭.