KB979212 – LØSNING: En DateTime-verdi erstattes av en NULL-verdi når en konflikt løses ved hjelp av en egendefinert løser i Microsoft SQL Server 2005, Microsoft SQL Server 2008 eller Microsoft SQL Server 2008 R2 flettereplikering

Gjelder for
Microsoft SQL Server 2005 Standard Edition Microsoft SQL Server 2005 Enterprise Edition Microsoft SQL Server 2005 Developer Edition Microsoft SQL Server 2005 Workgroup Edition Microsoft SQL Server 2005 Standard X64 Edition Microsoft SQL Server 2005 Enterprise X64 Edition SQL Server 2008 Developer SQL Server 2008 Enterprise SQL Server 2008 Standard SQL Server 2008 Workgroup SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Standard SQL Server 2008 R2 Workgroup

Microsoft distribuerer feilrettinger for Microsoft SQL Server 2005, Microsoft SQL Server 2008 og Microsoft SQL Server 2008 R2 som én nedlastbar fil. Fordi rettelsene er kumulative, inneholder hver nye versjon alle hurtigreparasjoner og alle sikkerhetsrettinger som var inkludert i den forrige SQL Server 2005-, Microsoft SQL Server 2008- eller Microsoft SQL Server 2008 R2-oppdateringen.

Symptomer

Tenk deg følgende:

  • Du oppretter en flettereplikering i Microsoft SQL Server 2005, Microsoft SQL Server 2008 eller Microsoft SQL Server 2008 R2.
  • Du oppretter en egendefinert løser som brukes til å fastslå konfliktvinnerne når konflikter er oppdaget.
  • Du har en kolonne for datatypen DateTime.
  • DateTime-kolonnen inneholder en NULL-verdi på ett nettsted. Verdien i det tilsvarende feltet på et annet nettsted er ikke en NULL DateTime-verdi. Ett av disse nettstedene er en utgiver, og det andre er et abonnement.
  • Utgiveren og abonnenten er tilkoblet, og deretter utføres synkroniseringen.

I dette scenariet fastslår den egendefinerte løseren at NULL-verdien er konfliktvinneren. Deretter erstatter den egendefinerte løseren DateTime-verdien med NULL-verdien.

Årsak

Under opplastingen bruker Microsoft SQL Server 2005, Microsoft SQL Server 2008 eller Microsoft SQL Server 2008 R2 resultatsettet til den egendefinerte løseren til å overstyre kolonneverdien i henhold til kolonnestatusen. Microsoft SQL Server 2005, Microsoft SQL Server 2008 eller Microsoft SQL Server 2008 R2 tilbakestiller imidlertid ikke kolonnestatusen på riktig måte.

Oppløsning

Informasjon om kumulativ oppdatering

SQL Server 2005

Løsningen på dette problemet ble først utgitt i samleoppdatering 9 for SQL Server 2005 Service Pack 3. Hvis du vil ha mer informasjon om denne kumulative oppdateringspakken, klikker du følgende artikkelnummer for å vise artikkelen i Microsoft Knowledge Base:

980176 Kumulativ oppdateringspakke 9 for SQL Server 2005 Service Pack 3Note Siden buildene er kumulative, inneholder hver nye reparasjon alle hurtigreparasjoner og sikkerhetsrettelser som fulgte med den forrige SQL Server 2005-utgivelsen. Vi anbefaler at du vurderer å bruke den nyeste utgivelsen som inneholder denne hurtigreparasjonen. Hvis du vil ha mer informasjon, kan du lese følgende artikkel i Microsoft Knowledge Base:

960598 SQL Server 2005-versjonene som ble utgitt etter at SQL Server 2005 Service Pack 3 ble utgitt
Microsoft SQL Server 2005-hurtigreparasjoner opprettes for bestemte SQL Server-oppdateringspakker. Du må bruke en hurtigreparasjon av SQL Server 2005 Service Pack 3 på en installasjon av SQL Server 2005 Service Pack 3. Som standard er alle hurtigreparasjoner som leveres i en SQL Server-oppdateringspakke, inkludert i den neste SQL Server-oppdateringspakken.

SQL Server 2008

Løsningen på dette problemet ble først utgitt i kumulativ oppdatering 9 for SQL Server 2008 Service Pack 1. Hvis du vil ha mer informasjon om denne kumulative oppdateringspakken, klikker du følgende artikkelnummer for å vise artikkelen i Microsoft Knowledge Base:

2083921 kumulativ oppdatering 9 for SQL Server 2008 Service Pack 1Note Siden buildene er kumulative, inneholder hver nye reparasjon alle hurtigreparasjoner og sikkerhetsrettelser som fulgte med den forrige SQL Server 2008-utgivelsen. Microsoft anbefaler at du vurderer å bruke den nyeste versjonen av løsningen som inneholder denne hurtigreparasjonen. Hvis du vil ha mer informasjon, kan du lese følgende artikkel i Microsoft Knowledge Base:

970365 SQL Server 2008-bygg som ble utgitt etter at SQL Server 2008 Service Pack 1 ble utgitt, Microsoft SQL Server 2008-hurtigreparasjoner opprettes for bestemte SQL Server oppdateringspakker. Du må bruke en hurtigreparasjon for SQL Server 2008 Service Pack 1 på en installasjon av SQL Server 2008 Service Pack 1. Som standard er alle hurtigreparasjoner som leveres i en SQL Server-oppdateringspakke, inkludert i den neste SQL Server-oppdateringspakken.

SQL Server 2008 Service Pack 2

Løsningen på dette problemet ble først utgitt i kumulativ oppdatering 1 for SQL Server 2008 Service Pack 2. Hvis du vil ha mer informasjon om denne kumulative oppdateringspakken, klikker du følgende artikkelnummer for å vise artikkelen i Microsoft Knowledge Base:

2289254 Kumulativ oppdatering 1 for SQL Server 2008 Service Pack 2Note Siden buildene er kumulative, inneholder hver nye reparasjon alle hurtigreparasjoner og sikkerhetsrettelser som fulgte med den forrige SQL Server 2008-utgivelsen. Vi anbefaler at du vurderer å bruke den nyeste utgivelsen som inneholder denne hurtigreparasjonen. Hvis du vil ha mer informasjon, kan du lese følgende artikkel i Microsoft Knowledge Base:

2402659 SQL Server 2008-versjonene som ble utgitt etter at SQL Server 2008 Service Pack 2 ble utgitt

SQL Server 2008 R2

Løsningen på dette problemet ble først utgitt i kumulativ oppdatering 3. Hvis du vil ha mer informasjon om hvordan du får tak i denne kumulative oppdateringspakken for SQL Server 2008 R2, klikker du følgende artikkelnummer for å vise artikkelen i Microsoft Knowledge Base:

2261464 Kumulativ oppdateringspakke 3 for SQL Server 2008 R2Note Siden buildene er kumulative, inneholder hver nye reparasjon alle hurtigreparasjoner og alle sikkerhetsrettelser som fulgte med den forrige SQL Server 2008 R2-utgivelsen. Vi anbefaler at du vurderer å bruke den nyeste utgivelsen som inneholder denne hurtigreparasjonen. Hvis du vil ha mer informasjon, kan du lese følgende artikkel i Microsoft Knowledge Base:

981356 SQL Server 2008 R2-byggene som ble utgitt etter at SQL Server 2008 R2 ble utgitt

Status

Microsoft har bekreftet at dette er et problem i Microsoft-produktene som er oppført i delen «Gjelder for».

Kilder

Hvis du vil ha mer informasjon om hvordan en flettereplikering oppdager og løser konflikter, kan du gå til følgende webområde for Microsoft Developer Network (MSDN):

Slik oppdager og løser flettede replikasjoner konflikter Hvis du vil ha informasjon om den inkrementell vedlikeholdsmodellen for SQL Server, klikker du følgende artikkelnummer for å vise artikkelen i Microsoft Knowledge Base:

935897 En inkrementell vedlikeholdsmodell er tilgjengelig fra SQL Server-teamet som kan levere hurtigreparasjoner for rapporterte problemer

  Hvis du vil ha mer informasjon om hvordan du får tak i SQL Server 2005 Service Pack 3, kan du klikke følgende artikkelnummer for å vise artikkelen i Microsoft Knowledge Base:

913089
  Slik får du tak i den nyeste oppdateringspakken for SQL Server 2005
   Hvis du vil ha mer informasjon om nye funksjoner og forbedringer i SQL Server 2005 Service Pack 3, går du til følgende Microsoft-webområde:

http://go.microsoft.com/fwlink/?LinkId=131442
  Hvis du vil ha mer informasjon om navnegivningsskjemaet for SQL Server-oppdateringer, klikker du følgende artikkelnummer for å vise artikkelen i Microsoft Knowledge Base:

822499
  Nytt navneskjema for Microsoft SQL Server-programvareoppdateringspakker
   Hvis du vil ha mer informasjon om terminologi for programvareoppdateringer, kan du klikke følgende artikkelnummer for å vise artikkelen i Microsoft Knowledge Base:

824684
  Beskrivelse av standardterminologien som brukes til å beskrive Microsoft-programvareoppdateringer