Veeam Backup & Replication Upgrade Error
Outdated agent „crmsrv“

Hi All,

ich habe gerade versucht meinen Veeam Backup & Replication Server von Version 12 auf Version 13 upzudaten und bin dabei auf einen Fehler gestoßen: „veeam upgrade error outdated agent crmsrv“.

Dabei ist der CheckUp leider in einen Fehler gelaufen:

[Warning] Agent-based jobs running on unsupported operating system

Veeam Agents installed on operating systems that are no longer supported have been detected.
These agents will not be upgraded to the latest version and will stop receiving new features.
To continue protecting these operating systems, we recommend switching the existing agent 
into the standalone mode. For more information, please review the system requirements.

[Error] Outdated Veeam Agents

Please upgrade or remove the following Veeam agents from the product configuration: 
crmsrv (Veeam Agent for Linux 2.0.1.665)

Das Problem: Der Agent war auf dem System längst nicht mehr aktiv bzw. wurde bereits deinstalliert, trotzdem wurde er weiterhin im Upgrade-Check erkannt.

Ursache des Fehlers „outdated agent crmsrv“

Der Fehler kommt nicht vom eigentlichen Betriebssystem oder einer kaputten Installation, sondern aus der internen Konfiguration von Veeam Backup & Replication.

Typischer Ablauf:

  • Ein Veeam Agent for Linux wurde früher auf einem System installiert (z. B. „crmsrv“)
  • Der Agent wurde später deinstalliert oder das System ist nicht mehr erreichbar
  • Die Referenz bleibt jedoch in der Veeam-Konfiguration bzw. Datenbank bestehen
  • Beim Upgrade prüft Veeam alle registrierten Agents
  • Ergebnis: „veeam upgrade error outdated agent crmsrv“

Leider hat das Deinstallieren von Veeam Agent für Linux keinen Erfolg gebracht. Ich habe auch den Ordner
"C:\ProgramData\Veeam\Agents\VAL" im Anschluss per Hand gelöscht – der Fehler blieb weiterhin bestehen.

Auch die Installation der neuesten Version, welche ihr auf der ISO unter folgendem Pfad findet:
"ISO:\Packages\VALRedist.msi" funktionierte nicht.

Lösung: Veralteten Agent aus der Datenbank entfernen

Ich habe mir dann die Veeam Datenbank genauer angeschaut und mit folgendem Query die Tabellen gefunden in der noch „crmsrv“ zu finden war:

USE [VeeamBackup];
SET NOCOUNT ON;

IF OBJECT_ID('tempdb..#Results') IS NOT NULL
DROP TABLE #Results;

CREATE TABLE #Results
(
    SchemaName NVARCHAR(128),
    TableName NVARCHAR(128),
    ColumnName NVARCHAR(128),
    MatchedValue NVARCHAR(MAX)
);

DECLARE @SchemaName SYSNAME;
DECLARE @TableName SYSNAME;
DECLARE @ColumnName SYSNAME;
DECLARE @Sql NVARCHAR(MAX);

DECLARE cur CURSOR LOCAL FAST_FORWARD FOR
SELECT
    s.name AS SchemaName,
    t.name AS TableName,
    c.name AS ColumnName
FROM sys.tables t
INNER JOIN sys.schemas s
    ON s.schema_id = t.schema_id
INNER JOIN sys.columns c
    ON c.object_id = t.object_id
INNER JOIN sys.types ty
    ON ty.user_type_id = c.user_type_id
WHERE ty.name IN (N'varchar', N'nvarchar', N'char', N'nchar', N'text', N'ntext')
ORDER BY s.name, t.name, c.column_id;

OPEN cur;

FETCH NEXT FROM cur INTO @SchemaName, @TableName, @ColumnName;

WHILE @@FETCH_STATUS = 0
BEGIN
    SET @Sql = N'
INSERT INTO #Results (SchemaName, TableName, ColumnName, MatchedValue)
SELECT TOP (20)
    N''' + REPLACE(@SchemaName, '''', '''''') + N''',
    N''' + REPLACE(@TableName, '''', '''''') + N''',
    N''' + REPLACE(@ColumnName, '''', '''''') + N''',
    CAST(' + QUOTENAME(@ColumnName) + N' AS NVARCHAR(MAX))
FROM ' + QUOTENAME(@SchemaName) + N'.' + QUOTENAME(@TableName) + N'
WHERE CAST(' + QUOTENAME(@ColumnName) + N' AS NVARCHAR(MAX)) LIKE N''%crmsrv%'';';

    EXEC sp_executesql @Sql;

    FETCH NEXT FROM cur INTO @SchemaName, @TableName, @ColumnName;
END

CLOSE cur;
DEALLOCATE cur;

SELECT *
FROM #Results
ORDER BY SchemaName, TableName, ColumnName;

Ihr solltet folgendes Ergebnis bekommen:

Sql_Query_Ergebnis

Im Anschluss öffnet ihr per Rechtsklick folgendermaßen die Tabelle im Editier-Modus:

Sql_Edit_Rows

Dann die betroffene Zeile suchen und links komplett markieren. Rechtsklick und Löschen…

Sql_Delete_Rows

Damit sollte es im Anschluss funktionieren.

Fazit – was wirklich hinter dem Fehler steckt

Der Fehler „veeam upgrade error outdated agent crmsrv“ ist kein klassischer Installationsfehler, sondern ein Datenbank-Relikt innerhalb von Veeam Backup & Replication.

Wichtigste Erkenntnisse

  • Deinstallation des Agents reicht nicht aus
  • lokale Dateien sind irrelevant für den Upgrade-Check
  • entscheidend ist die SQL-Datenbank
  • alte Agent-Referenzen müssen manuell entfernt werden

Greetings

Franky