Xóa file rác của hệ thống
Const TempWin =
C:\Windows\Temp\
Const Recent =
C:\Windows\Recent\*.*
DelTempDir
Sub DelTempDir ()
Dim fso
Set fso =
CreateObject([Link])
[Link] TempWin & *.*, True
[Link] TempWin & *, True
[Link] Recent, True
MsgBox DelTemp has finished., Finish function
End Sub
Kiểm tra NetFrameWork
//===============================================================
============
//
// Topic: CheckAndInstallNetFramework
//
// Description:
//
// My Name :
//
//===============================================================
============
function CheckAndInstallNetFramework()
begin
//CopyFile(SRCDIR^"Net
Framework\\[Link]",SUPPORTDIR ^
"[Link]");
if
CheckNetFameworkCreateFile(SUPPORTDIR,"[Link]","Che
[Link]")=FALSE then
InstallNetFrameWork(SUPPORTDIR^"\\NetFx20SP1_x86.exe");
endif;
DeleteFile(SUPPORTDIR^"[Link]");
end;
//===============================================================
============
//
// Topic: InstallNetFrameWork
//
// Description:
//
// My Name :
//
//===============================================================
============
function InstallNetFrameWork(filePath)
NUMBER nvDx, nvDy, nvResult, nvType, nvSize;
STRING svResult, svVersionNumber;
begin
if (AskYesNo("Microsoft .NET Framework 2.0 or later
version was not installed in your system.\n\n Would you like to
install it now?", YES ) = YES) then
if Is(FILE_EXISTS,filePath)==TRUE then
if (LaunchAppAndWait (filePath, "",
LAAW_OPTION_WAIT) < 0) then
MessageBox("NetFx20SP1_x86.exe
doesn't exist in Net Frmework foder in CD, please check
again.",WARNING);
//abort;
InformFinishNetFramWork();
else
//if (AskYesNo("Would you
like to restart computer now?", YES ) = YES) then
//SdFinishReboot ( szTitle, szMsg1, SYS_BOOTMACHINE, szMsg2, 0 );
// System
(SYS_BOOTMACHINE);
// abort;
// endif;
endif;
else
endif;
else
//abort;
MessageBox("Microsoft .NET Framework 2.0
installation is not completed",WARNING);
InformFinishNetFramWork();
endif;
if(CheckNetFameWorkRuning()==FALSE) then
MessageBox("Microsoft .NET Framework 2.0
installation is not completed",WARNING);
InformFinishNetFramWork();
//MessageBox("HAHHAHAH",WARNING);
endif;
end;
//===============================================================
============
//
// Topic: CheckNetFameworkCreateFile
//
// Description:
//
// My Name :
//
//===============================================================
============
function BOOL
CheckNetFameworkCreateFile(strFolderPath,fileEXE,createdFile)
BOOL blnResult;
NUMBER nvDx, nvDy, nvResult, nvType, nvSize;
STRING svVersionNumber;
STRING para;
begin
blnResult=FALSE;
para="\""+ strFolderPath^ createdFile+ "\"";
if LaunchAppAndWait (strFolderPath^fileEXE,para,
LAAW_OPTION_WAIT|LAAW_OPTION_HIDDEN)=0 then
if Is(FILE_EXISTS,strFolderPath^
createdFile)==TRUE then
blnResult=TRUE;
DeleteFile(strFolderPath^ createdFile);
else
blnResult=FALSE;
endif;
endif;
return blnResult;
end;
//===============================================================
============
//
// Topic: InformFinishNetFramWork
//
// Description:
//
// My Name :
//
//===============================================================
============
function BOOL CheckNetFameWorkRuning()
begin
if
CheckNetFameworkCreateFile(SUPPORTDIR,"[Link]","Che
[Link]")=FALSE then
return FALSE;
else
return TRUE;
endif;
end;
//===============================================================
============
//
// Topic: InformFinishNetFramWork
//
// Description:
//
// My Name :
//
//===============================================================
============
function InformFinishNetFramWork()
NUMBER nResult, nLevel, nSize, nSetupType;
STRING szTitle, szMsg, szOpt1, szOpt2, szLicenseFile;
STRING szName, szCompany, szTargetPath, szDir, szFeatures;
BOOL bLicenseAccepted;
STRING szProductName;
STRING szMsg1, szMsg2;
BOOL bvOpt1, bvOpt2;
NUMBER nReturn;
NUMBER nType, nMediaFlags;
STRING szIgnore,svOldPath;
STRING szKey, szNumName, szNumValue, svNumValue;
begin
szTitle = @PRODUCT_NAME +" Installation is not
Completed.";
szMsg1 = "Microsoft .NET Framework 2.0 installation is not
completed" ;
szMsg2 = "Click Finish to complete %P Setup.";
SdFinish (szTitle, szMsg1, szMsg2, szOpt1, szOpt2, bvOpt1,
bvOpt2);
abort;
end;
Kiểm tra Windown Install 3.1
/
=================================================================
==========
//
// Topic: CheckWindowsInstaller3_1
//
// Description:
//
// My Name :
//
//===============================================================
============
function CheckWindowsInstaller3_1()
string
svVersionNumber,svFilePath,svFilePath2,svVersionNumber2;
number rs,nDefChoice;
STRING szTitle,szMsg,szMsg1,szMsg2 ;
begin
svFilePath=WINDISK+"\\WINDOWS\\system32\\[Link]";
rs = VerGetFileVersion (svFilePath ,svVersionNumber);
if(svVersionNumber=="") then
else
if(rs ==FILE_NOT_FOUND ||
svVersionNumber< "[Link]" ) then
if( LaunchAppAndWait(SUPPORTDIR^"\\WindowsInstaller-KB893803-v2-
[Link]","",LAAW_OPTION_WAIT)<0)then
MessageBox("
WindowsInstaller3.1 installation is not completed",WARNING);
InformFinishWI3_1();
else
//if
(AskYesNo("Would you like to restart computer now?", YES ) = YES)
then
//SdFinishReboot ( szTitle, szMsg1, SYS_BOOTMACHINE, szMsg2, 0 );
// System
(SYS_BOOTWIN);
//endif;
endif;
endif;
if(CheckSencondWINDOWS()==FALSE)
then
MessageBox("
WindowsInstaller3.1 installation is not completed",WARNING);
InformFinishWI3_1();
else
endif;
endif;
end;
//===============================================================
============
//
// Topic: CheckSencondWINDOWS
//
// Description:
//
// My Name :
//
//===============================================================
============
function BOOL CheckSencondWINDOWS()
string
svVersionNumber,svFilePath,svFilePath2,svVersionNumber2;
number rs;
begin
svFilePath=WINDISK+"\\WINDOWS\\system32\\[Link]";
rs = VerGetFileVersion (svFilePath ,svVersionNumber);
if(svVersionNumber<"[Link]") then
return FALSE;
else
return TRUE;
endif;
end;
Tự động backup và xóa file backup cũ
trong SQL Server 2005 Express.
Kết hợp giữa VBScript và T-SQL với Task Manager trong Windows để tạo user và hệ
thống backup trong SQL Server 2005 Express Edition.
Chú ý : Tất cả những file này được save tại E:\SQL_Backup\scripts. Bạn có thể thay
đổi đường dẫn thư mục tùy ý.
Bước 1 : tạo T-SQL script:
Save script định dạng *.sql, đường dẫn : E:\SQL_Backup\scripts\[Link]
DECLARE @dateString CHAR(12), @dayStr CHAR(2), @monthStr CHAR(2), @hourStr CHAR(2),
@minStr CHAR(2)
--month variable
IF (SELECT LEN(CAST(MONTH(GETDATE()) AS CHAR(2))))=2
SET @monthSTR=CAST(MONTH(GETDATE()) AS CHAR(2))
ELSE
SET @monthSTR= '0' + CAST(MONTH(GETDATE()) AS CHAR(2))
--day variable
IF (SELECT LEN(CAST(DAY(GETDATE()) AS CHAR(2))))=2
SET @daySTR=CAST(DAY(GETDATE()) AS CHAR(2))
ELSE
SET @daySTR='0' + CAST(DAY(GETDATE()) AS CHAR(2))
--hour variable
IF (SELECT LEN(DATEPART(hh, GETDATE())))=2
SET @hourStr=CAST(DATEPART(hh, GETDATE()) AS CHAR(2))
ELSE
SET @hourStr= '0' + CAST(DATEPART(hh, GETDATE()) AS CHAR(2))
--minute variable
IF (SELECT LEN(DATEPART(mi, GETDATE())))=2
SET @minStr=CAST(DATEPART(mi, GETDATE()) AS CHAR(2))
ELSE
SET @minStr= '0' + CAST(DATEPART(mi, GETDATE()) AS CHAR(2))
--name variable based on time stamp
SET @dateString=CAST(YEAR(GETDATE()) AS CHAR(4)) + @monthStr + @dayStr + @hourStr +
@minStr
--=================================================================
DECLARE @IDENT INT, @sql VARCHAR(1000), @DBNAME VARCHAR(200)
SELECT @IDENT=MIN(database_id) FROM [Link] WHERE [database_id] > 0 AND NAME NOT
IN ('TEMPDB')
WHILE @IDENT IS NOT NULL
BEGIN
SELECT @DBNAME = NAME FROM [Link] WHERE database_id = @IDENT
/*Change disk location here as required*/
SELECT @SQL = 'BACKUP DATABASE '+@DBNAME+' TO DISK =
''E:\SQL_Backup\'+@DBNAME+'_db_' + @dateString +'.BAK'' WITH INIT'
EXEC (@SQL)
SELECT @IDENT=MIN(database_id) FROM [Link] WHERE [database_id] > 0 AND
database_id>@IDENT AND NAME NOT IN ('TEMPDB')
END
Bước 2 : tạo file VBScript
Tiếp theo,chúng ta cần tạo một file VBScript để xóa những database cũ .Script này
cũng được ghi tại file log .
Bạn cần tạo một file trống E:\SQL_Backup\scripts\[Link] để save log của
file bị xóa.
Đặt script theo đường dẫn E:\SQL_Backup\scripts\[Link]
On Error Resume Next
Dim fso, folder, files, sFolder, sFolderTarget
Set fso = CreateObject("[Link]")
'location of the database backup files
sFolder = "E:\SQL_Backup\"
Set folder = [Link](sFolder)
Set files = [Link]
'used for writing to textfile - generate report on database backups deleted
Const ForAppending = 8
'you need to create a folder named “scripts” for ease of file management &
'a file inside it named “[Link]” for delete activity logging
Set objFile = [Link](sFolder & "\scripts\[Link]", ForAppending)
[Link] "================================================================"
& VBCRLF & VBCRLF
[Link] " DATABASE BACKUP FILE REPORT "
& VBCRLF
[Link] " DATE: " & FormatDateTime(Now(),1) & ""
& VBCRLF
[Link] " TIME: " & FormatDateTime(Now(),3) & ""
& VBCRLF & VBCRLF
[Link] "================================================================"
& VBCRLF
'iterate thru each of the files in the database backup folder
For Each itemFiles In files
'retrieve complete path of file for the DeleteFile method and to extract
'file extension using the GetExtensionName method
a=sFolder & [Link]
'retrieve file extension
b = [Link](a)
'check if the file extension is BAK
If uCase(b)="BAK" Then
'check if the database backups are older than 3 days
If DateDiff("d",[Link],Now()) >= 3 Then
'Delete any old BACKUP files to cleanup folder
[Link] a
[Link] "BACKUP FILE DELETED: " & a
End If
End If
Next
[Link]
"================================================================" & VBCRLF &
VBCRLF
[Link]
Set objFile = Nothing
Set fso = Nothing
Set folder = Nothing
Set files = Nothing
Bước 3 : tạo tệp bat kết hợp T-SQL Script và VBScript.
Chúng ta cần tạo tệp BAT để kết hợp cả 2 script vừa tạo trên.Nội dung của tệp bat thực hiện
dựa trên [Link] tệp BAT này tại : E:\SQL_Backup\scripts\[Link]
REM Run TSQL Script to backup databases
sqlcmd -S<INSTANCENAME>-E -i"E:\SQL_Backup\scripts\[Link]" REM Run
database backup cleanup script
E:\SQL_Backup\scripts\[Link]
Bước 4 : tạo tác vụ backup định kì với Windows Task Cheduler.
Mục đích để backup định kì,có thể là ngày,tuần,tháng tùy thích.
Mở the Control Panel -> Scheduled Tasks hoặc Start -> All Programs -
> Accessories -> System Tools -> Scheduled Tasks.
Khi chứng thực Windows để chạy script T-SQL,sử dụng tài khoản Windows
là db_backupoperator (đây là tài khoản sử dụng cho mọi database)
Mở "Scheduled Tasks"
Click Add Scheduled Task
Mở "E:\SQL_Backup\scripts" folder và click [Link]
Chọn thời gian định kì cần backup.
Nhập tài khoản db_backupoperator vào.
Kết thúc quá trình tạo tác vụ backup định kì.