因为项目中的MS-SQL 服务器需要每季度做安全检查,相比于登录每台server单个的执行,批量执行显得尤为的重要。
环境:WINDOWS ENTERPRISE SERVER 2008/2005,MS-SQL 2008/2012
工具:sqlshc(安全检测工具);psexec(远程调用进程工具);XCOPY(可远程copy目录工具)
实现方式:1.采取笨办法先挨个远程调用示例如下:
#1.Unified Path
XCOPY /E C:\Health_Check_AUTO \\1.1.1.1\C$\Health_Check_AUTO\
#2.Upload the required CMD
XCOPY /E C:\Health_Check_AUTO\HC.bat \\1.1.1.1\C$\Health_Check_AUTO\
#3.Running the Batch
psexec C:\IBM_Health_Check_AUTO\hc.bat
4.Get the Results
XCOPY /E /y \\1.1.1.1\C$\Health_Check_AUTO\HISTORY\* C:\Health_Check_AUTO\output\
如上可以实现远程批量调用进程实现HC,缺点是完全没有变量的带入。
2.相对于linux环境,对于windows显得很陌生,尚未完全摸索出CMD中变量及其下循环中的局部变量的转换调用,故在调试脚本中出现了很多问题(尚未调通)
开发中。。。。
--------------------------------------------
:: %1 - Network path to file directory for Script and input file
if /i "%1" EQU "" (
SET FileDirectory=%cd%
) ELse (
SET FileDirectory=%1%
)
:: SET LOCAL VAR
SETLOCAL ENABLEDELAYEDEXPANSION
SET CTIME=%date:~3,11%:%time:~0,5%
SET PTIME="%CTIME: =%"
SET PTIME="%PTIME:/=%"
SET PTIME="%PTIME::=%"
echo %PTIME%
SET RESULTFILE=%cd%\result%PTIME%.txt
SET INSTFILE=%cd%\instance.txt
SET RUNFILE="%cd%\HC.bat"
SET lhcfile="C:\Health_Check_AUTO\"
SET rfile="C$\Health_Check_AUTO\HISTORY\*"
SET lfile="C:\Health_Check_AUTO\output\"
echo ...............................PERFORMING THE DB HEALTH-CHECK BEGINNING at %date:~3,11% %time:~0,5% ............................. >>%RESULTFILE%
for /f %%a in ('type %INSTFILE%') do (
SET InstanceName=%%a
XCOPY /E %lhcfile% \\!InstanceName!\%lhcfile%
if !errorlevel! EQU 0 (
::echo ................................!InstanceName! Can not been establishing (1).................. >>%RESULTFILE%
) else echo ................................!InstanceName! Health-check been performed (1)................. >>%RESULTFILE%
XCOPY /E %RUNFILE% \\!InstanceName!\%lhcfile
if !errorlevel! EQU 0 (
echo ................................!InstanceName! Can not been establishing (2).................. >>%RESULTFILE%
) else echo ................................!InstanceName! Health-check been performed (2)................. >>%RESULTFILE%
psexec \\!InstanceName! %RUNFILE
if !errorlevel! EQU 0 (
echo ................................!InstanceName! Can not been establishing (3).................. >>%RESULTFILE%
) else echo ................................!InstanceName! Health-check been performed (3)................. >>%RESULTFILE%
XCOPY /E /y \\!InstanceName!\%rfile% %lfile%
if !errorlevel! EQU 0 (
echo ................................!InstanceName! Can not been establishing (4).................. >>%RESULTFILE%
) else echo ................................!InstanceName! Health-check been performed (4)................. >>%RESULTFILE%
)
echo ...............................PERFORMING THE DB HEALTH-CHECK END at %date:~3,11% %time:~0,5% ............................. >>%RESULTFILE%
windows环境下远程调用进程(同一域下)
来源:这里教程网
时间:2026-03-02 10:35:45
作者:
编辑推荐:
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 移动硬盘选什么牌子好 移动硬盘主流牌子汇总及推荐
移动硬盘选什么牌子好 移动硬盘主流牌子汇总及推荐
26-03-02 - 固态硬盘和普通硬盘性能的区别
固态硬盘和普通硬盘性能的区别
26-03-02 - 如何解决U盘插入电脑中不显示盘符的故障
如何解决U盘插入电脑中不显示盘符的故障
26-03-02 - u盘提示文件过大怎么办
u盘提示文件过大怎么办
26-03-02 - You will discover at this time quite a few ugg boots outlet
- CBox一直显示“正在连接”无法正常观看直播 解决方案
CBox一直显示“正在连接”无法正常观看直播 解决方案
26-03-02 - How to migrate data from Oracle to MSSQLSERVER
- SQLSERVER排查CPU占用高的情况
SQLSERVER排查CPU占用高的情况
26-03-02 - 教大家如何卸载onedrive onedrive的卸载方法
教大家如何卸载onedrive onedrive的卸载方法
26-03-02 - 批处理文件快速打开组策略编辑器
批处理文件快速打开组策略编辑器
26-03-02
