Simptomi
Iedomājieties šādu scenāriju:
-
Replicēšanu var izmantot programmā Microsoft SQL Server 2012 vai SQL Server 2014.
-
Abonementa abonementā varat pievienot abonementu un pēc tam to izdzēst.
Šajā scenārijā var tikt parādīts šāds kļūdas ziņojums 515:
Nevar ievietot vērtību NULL kolonnā article_id, Table "<DistributionDatabaseName> .dbo.MSrepl_commands"; kolonna neatļauj vērtības Null. IEVIETOT izdevies.
Cēlonis
Problēma rodas SQL Server 2012 regresijas dēļ. Kad pievienojat abonementu, un pēc tam to izdzēšat, replicēšanas metadati par abonementu nekavējoties tiek izdzēsti, jo ir aizkave, pirms LogReader sastop komandu, lai pievienotu abonementu.
Risinājums
Šī problēma pirmo reizi tika izlabota tālāk sniegtajā SQL Server kumulatīvajā atjauninājumā.
Kumulatīvais atjauninājums 1 SQL Server 2012 SP2 /en-us/help/2976982
Kumulatīvais atjauninājums 2 SQL Server 2014 /en-us/help/2967546
Kumulatīvais atjauninājums 10 SQL Server 2012 SP1 /en-us/help/2954099
Katrā jaunajā kumulatīvajā SQL Server atjauninājumā ir iekļauti visi labojumfaili un visi drošības labojumi, kas bija iekļauti iepriekšējā kumulatīvajā atjauninājumā. Skatiet jaunākos kumulatīvos atjauninājumus SQL Server:
Statusa
Microsoft ir apstiprinājusi, ka šī problēma pastāv Microsoft produktos, kas ir norādīti sadaļā "attiecas uz".