關於 xp_cmdshell 的使用
2014-03-16 22:00
405 查看
1. xp_cmdshell 簡介
xp即eXtended Procedure,MSSQL中以XP打頭的系統SP都是擴展存儲過程。xp_cmdshell 可以傳遞一串命令給CMD去執行。為了安全,這個功能在MSSQL中默認是未開啟的,開啟方法見BOI文檔。-- To allow advanced options to be changed. EXEC sp_configure 'show advanced options', 1; GO -- To update the currently configured value for advanced options. RECONFIGURE; GO -- To enable the feature. EXEC sp_configure 'xp_cmdshell', 1; GO -- To update the currently configured value for this feature. RECONFIGURE; GO2. xp_cmdshell在T-SQL中的典型應用
a)用 xp_cmdshell 執行 bcp 進行數據的導入與導出
b)用 xp_cmdshell中 映射網絡驅動器,遠程拷貝文件,比如將數據庫備份後,再拷貝到其他服務器上,間接實現遠程備份
c)用xp_cmdshell调用powershell
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),右鍵屬性:
相关文章推荐
- 从 xp_cmdshell 中使用 dtexec 运行SSIS包
- SqlServer之xp_cmdshell_使用以及配置(转)
- xp_cmdshell 拓展存储过程的使用
- 《SQL Server2005 xp_cmdshell无法使用》解决方案
- MSSQL 2008 非sysadmin使用 xp_cmdshell权限
- sql 2005如何使用被禁止的"xp_cmdshell"
- MS-SQL使用xp_cmdshell命令导出数据到excel
- [SQL Server]使用CLR存储过程替代xp_cmdshell
- 通过禁止使用xp_cmdShell提高安全
- Purpose: xp_cmdshell 扩展存储过程的使用
- SQL中使用xp_cmdshell将硬盘中文件内容导入数据库
- sql 2005如何使用被禁止的xp_cmdshell
- 默认情况下,sql server2005安装完后,xp_cmdshell是禁用的(可能是安全考虑),如果要使用它,可按以下步骤
- 在使用命令xp_cmdshell的时候需要设置权限
- 通过禁止使用xp_cmdShell提高SQLServer安全
- SQL Server 阻止了对组件 'xp_cmdshell' 的 过程'sys.xp_cmdshell' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_co
- SQL Server 2005 启用 xp_cmdshell 使用T-SQL语句导出数据到文件
- Sybase中使用xp_cmdShell命令
- sql 2005如何使用被禁止的"xp_cmdshell"
- 从 xp_cmdshell 中使用 dtexec 运行SSIS包