|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
DBaaS向客户提供了许多与其他云服务相类似的优势:一个灵活的、可扩展的MySQL学习教程、按需服务的平台,它以自助服务和便捷管理为导向,可以对环境中的资源进行调配。xp_cmdshell
新增信息-2001年9月
以操纵体系命令行注释器的体例实行给定的命令字符串,并以文本行体例前往任何输入。授与非办理用户实行xp_cmdshell的权限。
申明在Microsoft®Windows®98操纵体系中实行xp_cmdshell时,将不把xp_cmdshell的前往代码设置为叫醒挪用的可实行文件的历程加入代码。前往代码一直为0。
语法
xp_cmdshell{command_string}[,no_output]
参数
command_string
是在操纵体系命令行注释器上实行的命令字符串。command_string的数据范例为varchar(8000)或nvarchar(4000),没有默许值。command_string不克不及包括一对以上的双引号。假如由command_string援用的文件路径或程序称号中有空格,则必要利用一对引号。假如利用嵌进空格不便利,可思索利用FAT8.3文件名作为办理举措。
no_output
是可选参数,暗示实行给定的command_string,但不向客户端前往任何输入。
前往代码值
0(乐成)或1(失利)
了局集
实行以下xp_cmdshell语句将前往以后目次的目次列表。
xp_cmdshelldir*.exe
行以nvarchar(255)列的情势前往。
实行以下xp_cmdshell语句将前往随后的了局集:
xp_cmdshelldir*.exe,NO_OUTPUT
上面是了局:
Thecommand(s)completedsuccessfully.
正文
xp_cmdshell以同步体例操纵。在命令行注释器命令实行终了之前,不会前往把持。
当授与用户实行权限时,用户能在MicrosoftWindowsNT®命令行注释器上实行运转MicrosoftSQLServer™的帐户有权实行的任何操纵体系命令。
默许情形下,只要sysadmin流动服务器脚色的成员才干实行此扩大存储历程。可是,也能够授与其他用户实行此存储历程的权限。
看成为sysadmin流动服务器脚色成员的用户叫醒挪用xp_cmdshell时,将在运转SQLServer服务的平安高低文中实行xp_cmdshell。当用户不是sysadmin组的成员时,xp_cmdshell将摹拟利用xp_sqlagent_proxy_account指定的SQLServer代办署理程序的代办署理帐户。假如代办署理帐户不克不及用,则xp_cmdshell将失利。这只是针关于Microsoft®WindowsNT®4.0和Windows2000。在Windows9.x上,没有摹拟,且xp_cmdshell一直在启动SQLServer的Windows9.x用户的平安高低文下实行。
申明在初期版本中,取得xp_cmdshell实行权限的用户在MSSQLServer服务的用户帐户高低文中运转命令。能够经由过程设置选项设置SQLServer,以便对SQLServer无sa会见权限的用户可以在SQLExecutiveCmdExecWindowsNT帐户的高低文中运转xp_cmdshell。在SQLServer7.0中,该帐户称为SQLAgentCmdExec。如今,不是sysadmin流动服务器脚色成员的用户将在该帐户高低文中运转命令,而无需再举行设置变动。
权限
xp_deletemail的实行权限默许授与sysadmin流动服务器脚色的成员,但能够授与其他用户。
主要假如为MSSQLServer服务选用的WindowsNT帐户不是当地办理员组的成员,则非sysadmin流动服务器脚色成员的用户将没法实行xp_cmdshell。
示例A.前往可实行文件列表
下例显现实行目次命令的xp_cmdshell扩大存储历程。
EXECmaster..xp_cmdshelldir*.exe
B.利用WindowsNTnet命令
下例显现xp_cmdshell在存储过程当中的利用。下例先用netsend关照用户SQLServer行将封闭,然后用netpause停息服务器,最初用netstop封闭服务器。
CREATEPROCshutdown10ASEXECxp_cmdshellnetsend/domain:SQL_USERSSQLServershuttingdownin10minutes.Nomoreconnectionsallowed.,no_outputEXECxp_cmdshellnetpausesqlserverWAITFORDELAY00:05:00EXECxp_cmdshellnetsend/domain:SQL_USERSSQLServershuttingdownin5minutes.,no_outputWAITFORDELAY00:04:00EXECxp_cmdshellnetsend/domain:SQL_USERSSQLServershuttingdownin1minute.Logoffnow.,no_outputWAITFORDELAY00:01:00EXECxp_cmdshellnetstopsqlserver,no_output
C.不前往输入
下例利用xp_cmdshell实行命令字符串,且不向客户端前往输入。
USEmasterEXECxp_cmdshellcopyc:qldumpspubs.dmperver2ackupsqldumps,NO_OUTPUT
D.利用前往形态
鄙人例中,xp_cmdshell扩大存储历程也给出了前往形态。前往代码值存储在变量@result中。
DECLARE@resultintEXEC@result=xp_cmdshelldir*.exeIF(@result=0)PRINTSuccessELSEPRINTFailure
E.将变量内容写进文件
下例将@var变量的内容写进以后服务器目次下名为var_out.txt的文件中。
DECLARE@cmdsysname,@varsysnameSET@var=HelloworldSET@cmd=echo+@var+>var_out.txtEXECmaster..xp_cmdshell@cmd
F.将命令的了局捕捉到文件
下例将以后目次的内容写进以后服务器目次中名为dir_out.txt的文件中。
DECLARE@cmdsysname,@varsysnameSET@var=dir/pSET@cmd=@var+>dir_out.txtEXECmaster..xp_cmdshell@cmd
请拜见
CREATEPROCEDURE
EXECUTE
创立平安帐户
体系存储历程(惯例扩大历程)
如果互联网服务提供商,支撑数据的云服务,或它们之间任一点网络被堵塞或中断,他们就会遇到与数据延迟或应用程序故障有关的问题。如果问题发生在企业内部,解决方案提供商可以排除故障找出原因。 |
|