0

我们使用的是 Windows Server 2008 R2 O/S。我们要执行一个脚本,在夜间(凌晨 3 点左右)停止 sql server 2008 并复制所有数据文件。

我们希望这个过程自动完成,因为在凌晨 3 点,没有任何人可以作为管理员运行批处理文件。

我们尝试在以下链接BatchGetAdmin Script上使用 vbs 脚本

但没有成功。

我们也尝试过使用 runas 命令,但它要求输入密码,这对我们来说是无用的。

我们如何完成这个简单的任务?有任何想法吗?

这是我们尝试执行的脚本,但它显示“访问被拒绝”

@echo off

:: BatchGotAdmin
:-------------------------------------
REM  --> Check for permissions
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"

REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
    echo Requesting administrative privileges...
    goto UACPrompt
) else ( goto gotAdmin )

:UACPrompt
    echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
    echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"

    "%temp%\getadmin.vbs"
    exit /B

:gotAdmin
    if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
    pushd "%CD%"
    CD /D "%~dp0"
:--------------------------------------

net stop SERVER08
net stop SQLEXPRESS
net stop MSOLAP
net stop SQLBrowser
net stop MsDtsServer100
net stop ReportServer
net stop SQLWriter
net stop MSSQLFDLauncher
4

1 回答 1

0

我认为我从中创建日程表的 syncback 软件存在一些问题。我使用了 win2008 调度程序,脚本运行良好。

于 2012-06-25T03:54:47.910 回答