Variable SQLLOGDIR not found

昨天在一數據庫(SQL Server 2008 R2 SP3)上部署了一個做業,今天早上收到告警郵件,做業執行報錯Unable to start execution of step 1 (reason: Variable SQLLOGDIR not found).  The step failed,剛開始有點莫名其妙,後面檢查發現出錯的緣由是由於在高級選項(Advanced)裏面的output file使用了標記(tokens),而SQL Server 2008R2不支持這個。sql

 

clip_image001

 

 

做業是在SQL Server 2017下建立、測試的,而後生成做業的相關腳本,部署到SQL Server 2008 R2上,部分具體的代碼以下所示:數據庫

 

EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'YourSQLDba_Index_Statistics_Maintenance_Step_One', 測試

        @step_id=1, spa

        @cmdexec_success_code=0, 日誌

        @on_success_action=1, code

        @on_success_step_id=0, orm

        @on_fail_action=2, server

        @on_fail_step_id=0, blog

        @retry_attempts=0, token

        @retry_interval=0,

        @os_run_priority=0, @subsystem=N'TSQL',

        @command=N'EXECUTE [dbo].[IndexOptimize]

@Databases = ''USER_DATABASES'',

@LogToTable = ''Y''

 

EXECUTE dbo.IndexOptimize @Databases = ''USER_DATABASES'',

@FragmentationLow = NULL,

@FragmentationMedium = ''INDEX_REORGANIZE,INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE'',

@FragmentationHigh = ''INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE'',

@FragmentationLevel1 = 5,

@FragmentationLevel2 = 30,

@SortInTempdb = ''Y'',

@MaxDOP = 0,

@UpdateStatistics=''ALL'',

@StatisticsSample=80,

@LogToTable = ''Y''',

        @database_name=N'TMISDB',

    @output_file_name=N'$(ESCAPE_SQUOTE(SQLLOGDIR))\IndexOptimize_$(ESCAPE_SQUOTE(JOBID))_$(ESCAPE_SQUOTE(STEPID))_$(ESCAPE_SQUOTE(STRTDT))_$(ESCAPE_SQUOTE(STRTTM)).txt',

        @flags=0

 

 

關於標記(tokens) SQLLOGDIR的介紹以下;

 

 

(SQLLOGDIR) SQL Server 錯誤日誌文件夾路徑的替換標記 例如 $(ESCAPE_SQUOTE(SQLLOGDIR))。

 

其實SQL Server Agent的標記(token) SQLLOGDIR是從SQL Server 2014以後纔開始支持的。因此須要修改output file設置,取消標記SQLLOGDIR.

 

如需測試當前數據庫版本是否支持這個比較,能夠建立一個簡單做業執行下面命令,我的測試發現,SQL Server 2014以及後續版本才支持這個標記。SQL Server 2008R二、2012等版本皆不支持。

 

PRINT '$(ESCAPE_SQUOTE(SQLLOGDIR))'

 

 

參考資料:

 

    https://docs.microsoft.com/zh-cn/sql/ssms/agent/use-tokens-in-job-steps?view=sql-server-2017

相關文章
相關標籤/搜索