Reinstalace DPM2010 a problémy se starou DPMDB

Už několik dní si rvu vlasy nad DPM2010. Původní server obsahoval W2008R2, na němž běžela nejprve Beta verze DPM2010, posléze upgradovaná na RC a pak na RTM. Známou chybou je, že takto získaná finální instalace trpí na expiraci jak MS SQL Mgmt. studia, tak expiraci samotného SQL serveru. Nakonec jsem se naštval, odinstaloval vše, co zavánělo DPM2010 a SQL2008 a začal z čisté vody. Původní DMPDB databázi jsem si zazálohoval.

Vše proběhlo ok, prošel jsem si jednotlivými kroky obnovy DPM serveru, ručně spouštěné vytváření replik či recovery points funguje parádně, ale zaboha se nechtějí vytvářet repliky a recovery points pomocí časovače. V eventlogu se objevovala v době, kdy mělo dojít k vytvoření repliky nebo recovery pointu, takováto chybová hláška:

Log Name:      Application
Source:        SQLAgent$MSDPM2010
Date:          16.12.2010 13:30:00
Event ID:      212
Task Category: Job Engine
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      SERVER
Description:
Step 1 of job 'f1a0c5e4-c1c4-4152-8837-0ce40fb46f95' (0x2C1477F0EF39044EAA5D23D8A0026EBC) cannot be run because the CmdExec subsystem failed to load.  The job has been suspended.

Nakonec jsem skončil u tohoto článku s podezřením na to, že se instalace nějak pomátla díky nestandardně použitému adresáři. No a podezření se potvrdilo tímto dotazem:

use msdb
select * FROM syssubsystems
where subsystem_dll like 'E:\Program Files%'

S úžasem zírám na hodnoty, které obsahují řetězec “E:\Program Files\Microsoft DPM\SQL\MSSQL10.MSDPM2010EVAL\MSSQL\binn\”. Problém je v tom vyčerveněném textu, fyzické cesty na disku žádný “EVAL” řetězec nemají a mohu se jen dohadovat, kdy a proč se tam ty hodnoty dostaly.

Když jsme tohle zjistili, tak už pak byla náprava snadná:

update syssubsystems set subsystem_dll= replace (subsystem_dll,'EVAL','')

Následoval restart SQL Server Agent služby a vyčkání na první nadefinovaný task. A hurá, konečně to šlape.