Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# xp\u cmdshell使用问题(SQL Server 2008 R2)_C#_Asp.net_Sql Server - Fatal编程技术网

C# xp\u cmdshell使用问题(SQL Server 2008 R2)

C# xp\u cmdshell使用问题(SQL Server 2008 R2),c#,asp.net,sql-server,C#,Asp.net,Sql Server,我对xp_cmdshell有问题;我的SQL Server版本是: Microsoft SQL Server 2008 R2 (SP2)-10.50.4000.0(X64) 问题示例:当我尝试执行此命令时: EXEC xp_cmdshell 'echo Hello> D:\te.txt' 我得到这个错误: 对对象“xp_cmdshell”、数据库“mssqlsystemresource”、架构“sys”的执行权限被拒绝 所以我试了一下: GRANT EXECUTE ON xp_cmd

我对xp_cmdshell有问题;我的SQL Server版本是:

Microsoft SQL Server 2008 R2 (SP2)-10.50.4000.0(X64) 
问题示例:当我尝试执行此命令时:

EXEC xp_cmdshell 'echo Hello> D:\te.txt'
我得到这个错误:

对对象“xp_cmdshell”、数据库“mssqlsystemresource”、架构“sys”的执行权限被拒绝

所以我试了一下:

GRANT EXECUTE ON xp_cmdshell TO [user];
但它仍然不起作用

以下是数据库中的用户权限:

CREATE TABLE
CREATE VIEW
CREATE PROCEDURE
CREATE FUNCTION
CREATE RULE
CREATE DEFAULT
BACKUP DATABASE
BACKUP LOG
CREATE TYPE
CREATE ASSEMBLY
CREATE XML SCHEMA COLLECTION
CREATE SCHEMA
CREATE SYNONYM
CREATE AGGREGATE
CREATE ROLE
CREATE MESSAGE TYPE
CREATE SERVICE
CREATE CONTRACT
CREATE REMOTE SERVICE BINDING
CREATE ROUTE
CREATE QUEUE
CREATE SYMMETRIC KEY
CREATE ASYMMETRIC KEY
CREATE FULLTEXT CATALOG
CREATE CERTIFICATE
CREATE DATABASE DDL EVENT NOTIFICATION
CONNECT
CONNECT REPLICATION
CHECKPOINT
SUBSCRIBE QUERY NOTIFICATIONS
AUTHENTICATE
SHOWPLAN
ALTER ANY USER
ALTER ANY ROLE
ALTER ANY APPLICATION ROLE
ALTER ANY SCHEMA
ALTER ANY ASSEMBLY
ALTER ANY DATASPACE
ALTER ANY MESSAGE TYPE
ALTER ANY CONTRACT
ALTER ANY SERVICE
ALTER ANY REMOTE SERVICE BINDING
ALTER ANY ROUTE
ALTER ANY FULLTEXT CATALOG
ALTER ANY SYMMETRIC KEY
ALTER ANY ASYMMETRIC KEY
ALTER ANY CERTIFICATE
SELECT
INSERT
UPDATE
DELETE
REFERENCES
EXECUTE
ALTER ANY DATABASE DDL TRIGGER
ALTER ANY DATABASE EVENT NOTIFICATION
ALTER ANY DATABASE AUDIT
VIEW DATABASE STATE
VIEW DEFINITION
TAKE OWNERSHIP
ALTER
CONTROL

使非系统管理员能够运行xp_cmdshell的过程非常特殊,并记录在此处:


除了授予权限外,您还需要为windows用户提供最低权限,并将其配置为xp_cmdshell代理帐户

在ASP.NET应用程序中使用xp_cmdshell通常是个坏主意。除非您是
sysadmin
,否则您不能使用
xp_cmdshell
。另外,不要授予您的应用程序
sysadmin
特权。@AndrewMorton我知道这是个坏主意,我正在使用我的localhost&完成我的研究对我来说是非常必要的,我需要一种方法来解决这个问题,如何绕过它that@Larnu我在数据库上有系统管理员权限,但在服务器上没有..我已经试过了,结果是:对对象“sp_xp_cmdshell_proxy_account”、数据库“mssqlsystemresource”、架构“sys”的执行权限被拒绝。显然,执行这些步骤需要系统管理员和Windows管理员。