SQL Server 2019 – Problem med SnapShot Agent

Oopps! Upgrade your browser pretty please. Oopps! Upgrade your browser pretty please.

 

Om det är så att ni har problem med Snapshot Agenten när ni försöker skapa en replikering i SQL Server 2019 så kan problemet bero på en bugg i SQL Server 2019.

Felmeddelandet kan se ut ungefär så här:
2021-11-30 12:10:00.66 [0%] The replication agent had encountered an exception.
2021-11-30 12:10:00.66 Source: Replication
2021-11-30 12:10:00.66 Exception Type: Microsoft.SqlServer.Replication.ReplicationAgentException
2021-11-30 12:10:00.66 Exception Message: An unspecified error had occurred in the native SQL Server connection component.
2021-11-30 12:10:00.66 Message Code: 55012
2021-11-30 12:10:00.66

Och i eventloggen kan felmeddelandet se ut ungefär så här:
Replication-Replication Snapshot Subsystem: agent “SQL instance Name”-“Replication Name” failed. The replication agent had encountered an exception.
Source: Replication
Exception Type: Microsoft.SqlServer.Replication.ReplicationAgentException
Exception Message: An unspecified error had occurred in the native SQL Server connection component.
Microsoft OLE DB Driver for SQL Server: Unable to load msoledbsqlr.rll due to either missing file or version mismatch. The application cannot continue.

Detta uppstår när SnapShot Agenten startar och den då tittar på en sökväg som inte riktigt stämmer med den nya sökvägen för OLE DB drivrutinerna. Denna bugg är anmäld till Microsoft men ännu inte åtgärdad.

Det finns två workarounds

Den enklaste sättet är att kopiera foldern 1033 (och allt innehåll) från C:\Windows\System32 till C:\Program Files\Microsoft SQL Server\150\COM och startar om SQL tjänsten.
Detta fungerar dock bara på en US English installation.
Det kan eventuellt behövas att man installerar de senaste drivrutinerna för OLE DB också, de hittar du här:
OLE DB Drivers for SQL Server 15

I den andra mer komplicerade workarounden så behöver man gå in och konfigurera om Envrionment Variables. Installera först den senaste versionen av OLE DB Drivers for SQL Server.

  1. Öppna System Properties – Advanced System Settings – Environment Variables – System Variables – Path. Om ingen har ändrat default-inställningar så bör du hitta %SystemRoot%\System32, %SystemRoot% överst och C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\  längre ned.
  2. Lägg till %SystemRoot%\SysWOW64\ och %SystemRoot\SysWOW64\1033 till System Path Variable (och säkerställ att de är före referensen till C:\Program Files\Microsoft SQL Server\…)
  3. Starta om SQL Server tjänsten så bör ditt problem vara löst.

 

Den andra lösningen är lite mer komplicerad och riskfylld än den första. Vilken som fungerar hos dig beror lite på hur din installation ser ut.

 

Lycka till !