SQL SERVER SQL Agent服务使用小结
1.在查询分析器理启动或停止SQL Agent服务 启动 use master 停止
use master 将服务的启动从手工方式改为自动启动方式 exec xp_cmdshell \’scm -Action 7 -Service MSSQLserver -SVCStartType 2\’ 直接用命令行执行引号内的内容也可以。 2、启动不正常原因和处理 可能原因: 解决方法: 修改了系统密码 两者的区别: 数据库非法DOWN机出现故障 /* HOME **2004-10-20 **示例 */ CREATE TABLE #Output INSERT INTO #Output SET @IsOnWorking = DROP TABLE #Output SET NOCOUNT OFF SQL的分布式关系对象(SQL-DMO)库允许你的VB6应用程序自动地同SQL服务器进行交互操作。这对于获取关于SQL服务器的信息很有用,例如服务器的状态或者网络上的可用服务器。
要使用SQL-DMO库,就要设置一个对“微软SQL-DMO对象库”的参照。 Application对象的ListAvailableSQLServers方法会返回一个NameList对象,它包含有网络上可用服务器的列表。下面的代码显示了一个使用这个方法来填充列表框控件的方法: Dim objSQLApp As SQLDMO.Application Set objSQLApp = New SQLDMO.Application Set objNameList = objSQLApp.ListAvailableSQLServers() For intCount = 1 To objNameList.Count SQL-DMO库里另外一个有用的对象是SQLServer对象。这个对象能够被用来获取关于特定SQL服务器的信息。Connect方法会建立到数据库服务器的连接并接受三个参数:数据库名、用户名和密码。一旦对象的连接成功了,关于服务器的信息就能够被取回: Dim objSQLServer As SQLDMO.SQLServer Set objSQLServer = New SQLDMO.SQLServer Debug.PrintobjSQLServer.Name 恢复使用 xp_cmdshell |
前提需要工具:SQL Query Analyzer和SqlExec Sunx Version
第一部分:
有关去掉xp_cmdshell来保护系统的分析总结:
首先知道一下语句:
1.去掉xp_cmdshell扩展过程的方法是使用如下语句:
if exists (select * from dbo.sysobjects where id=object_id(N\'[dbo].[xpcmdshell]\') and OBJECTPROPERTY(id,N\'IsExtendedProc\')=1)exec sp_dropextendedproc N\'[dbo].[xp_cmdshell]\' |
2.添加xp_cmdshell扩展过程的方法是使用如下语句:
sp_addextendedproc xp_cmdshell,@dllname=\'xplog70.dll\' |
现在看看现象:
我们在取得SA权限后远程用Sqlexec执行cmd命令,出现提示SQL_ERROR,那么很可能是去掉了xp_cmdshell。
现在来看看被去掉xp_cmdshell后恢复的两种方法:
方法一、使用SQL Query Analyzer连接对方后直接写入,挺方便sp_addextendedproc xp_cmdshell,@dllname=\’xplog70.dll\’
方法二、使用SqlExec Sunx Version首先在SqlExec Sunx Version的Format选项里填上%s,在CMD选项里输入sp_addextendedproc \’xp_cmdshell\’,\’xpsql70.dll\’或者对Sql2000情况下使用sp_addextendedproc \’xp_cmdshell\’,\’xplog70.dll\’另外使用SqlExec Sunx Version来去除xp_cmdshell的方法和加的时候选择条件一样,然后输入sp_dropextendedproc \’xp_cmdshell\’就可以了