易截截图软件、单文件、免安装、纯绿色、仅160KB

定期删除备份的SQL数据库的脚本

  比如某个数据库下对SQL SERVER的数据库进行了每天的备份,现在要保留7天以内的,其他的删除掉,用ASP可以实现了,但要用到filesystemobject,不大爽
    首先写一个js文件clearDatabaseBackup,内容如下
function deleteBackupFile(beforedays) {
    var fso = new ActiveXObject("Scripting.FileSystemObject");
    var dir = fso.GetFolder("D:\\数据库备份");    //改成你的数据库备份目录
    for (var fc = new Enumerator(dir.SubFolders); !fc.atEnd(); fc.moveNext()) {
//假设数据文件的备份文件都是以abc_log开头的,比如abc_log_xxxx
        if (fc.item().name.substr(0,9) == "abc_log") {
            for (var logfiles = new Enumerator(fc.item().Files); !logfiles.atEnd(); logfiles.moveNext()) {
                var fileName = logfiles.item().name;
                var year = "20" + fileName.substr(19, 2);
                var month = fileName.substr(21, 2);
                var day = fileName.substr(23, 2);
                var days = Math.round(((new Date()).getTime() - Date.UTC(year, month - 1, day)) / 1000 / 60 / 60 / 24);
                if (days >= beforedays) logfiles.item().Delete();
            }
        }
    }
}
//保存一周内的数据库备份文件
deleteBackupFile(7);
然后写一个BAT文件,加入到任务计划
cscript clearDatabaseBackup.js


相关文档:

Orcale SQL优化

1.ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾. 
(低效) 
SELECT … from EMP E WHERE SAL > 50000 AND JOB = ‘MANAGER’ AND 25 < (SELECT COUNT(*) from EMP WHERE MGR=E. ......

用BCP从SQL Server中导出txt文本

BCP是SQL Server中负责导入导出数据的一个命令行工具,它是基于DB-Library的,并且能以并行的方式高效地导入导出大批量的数据。
/********************************************************
例如:
从本地服务器中(有用户名和密码)导出txt文本
EXEC master..xp_cmdshell 'bcp "select * from pubs..authors" queryou ......

SQL Server压缩日志及数据库文件大小

请按步骤进行,未进行前面的步骤时,请不要做后面的步骤,以免损坏你的数据库。
一般不建议做第4,6两步,第4步不安全,有可能损坏数据库或丢失数据。第6步如果日志达到上限,则以后的数据库处理会失败,在清理日志后才能恢复。
1、清空日志
DUMP  TRANSACTION  库名  WITH NO_LOG
2、截断事务日志
B ......

SQL查询答案

一、单表查询练习
1、查询<学生信息表>,查询学生"张三"的全部基本信息
Select *
from A_studentinfo
where sname='张三'
 
2、查询<学生信息表>,查询学生"张三"和”李四”的基本信息
Select *
from A_studentinfo
where sname='张三'
or sname='李四'
 
3、查询<学生 ......

SQL 语句优化(个人摘录)

(1)选择最有效率的表名顺序(只在基于规则的优化器中有效): 
ORACLE 的解析器按照从右到左的顺序处理from子句中的表名,from子句中写在最后的表(基础表 driving table)将被最先处理,在from子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(interse ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号