MSSQL分享:sp_writeall 将文本文件内容全部写入某一文件

alter PROC sp_writeall ( @dirpath varchar(1024),@filetype varchar(255) = '.sql' )
as 
declare @sql varchar(4000),@sql2 varchar(4000) ='' ,@count int ;
set @sql =  'dir '+ @dirpath + ' /b/a ' ;
create table #temp ( dirfile nvarchar(255)) ;
insert into #temp 
exec xp_cmdshell @sql ;
select @count = COUNT(1) from #temp 
where dirfile like '%' + @filetype ;
select @sql2 = @sql2 + ' exec xp_cmdshell ' + ''' type ' + @dirpath + '\' + dirfile +' >> '+ @dirpath + '\' + CAST( @count as varchar)+'_all.sql'  +''''+ char(13) + char(10)
from #temp 
where dirfile like '%' + @filetype ;
print @sql2;
exec ( @sql2 ) ;
drop table #temp;

利用本软件,只需得到一个IDC平台下开通的MSSQL,如果对方的服务器安全没有做到位,即有可能利用本软件直接写文件到服务器的任意盘,并且一旦运行,软件将无限刷文件到服务器,可暂停和继续,缩小可至托盘。 需条件: 开启服务器1433端口;开通的数据库连接账号拥有一个对应的可完全管理的数据库。 说明: 第一步:得到一台服务器上开通的MSSQL数据库下的普通用户账号,并且拥有一个这个账号下可以管理的数据库。 第二步:利用本软件连接该数据库,若提示不成功,请看错误提示来判断是否开启1433端口或数据库用户是否有误。 第三步:连接成功后可自动跳转到数据写入界面,并在数据库列表中可以看到该服务器上所有数据库的列表,请用鼠标选中账号下能够管理的数据库名。 第四步:在服务器路径编辑框下输入该服务器欲写入文件的具体路径,要注意不同系统,路径的形式也有所不同,如若填错,写入将提示失败。 第五步:以上步骤全部进行完毕,点击写文件到服务器,即可自动无限写入文件到指定的服务器路径(开始后自动在所指定的路径下写入以数字为名的文件,如需自定义名字,可在路径编辑框中填写完整的路径+文件名。) 提示:如果连接后肯定欲写入的路径没有任何错误,但是依然提示写入失败,说明服务器安全配置已经做到位,那么可放弃尝试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值