Feilmelding når du sletter en oppføring i Microsoft Dynamics CRM: "feil: sletting-tjenesten kan ikke rydde opp noen tabeller"


Symptomer


Når du sletter en oppføring i Microsoft Dynamics CRM, kan følgende feilmelding logges i programloggen:
Hendelsestype: feil
Kilde: MSCRMDeletionService
Hendelseskategori: Ingen

Hendelses-ID: 16387
Dato: dato
Tid: tid
AM bruker: i/t

Datamaskin: datamaskinnavn
Beskrivelse:
Feil: Sletting kan ikke rydde opp noen tabeller.

Årsak


Dette problemet oppstår fordi det er en begrensning i tabellen enhet for posten som blir slettet. I tillegg kanskje bruker som sletter oppføringen har ikke tillatelse til å slette alle tilknyttede oppføringer.

Anta for eksempel at du har rettigheter til å slette bare kontakter. Du prøver å slette en kontakt som er forbundet med tre tilfeller. I Microsoft Dynamics CRM er gjennomgripende forholdet mellom kontakt enheten og små enheten satt til "Kaskade slette alle." Derfor er kontaktposten statusen satt til en del i Microsoft Dynamics CRM-databasen. Du har imidlertid ikke rett til å slette tilfeller. Slett statusen er derfor ikke satt på små postene. Når slettingen tjenesten prøver å slette kontaktposten, blokkerer en begrensning som sletting fordi det finnes tre eksisterende saker som er tilordnet kontakten. Hvis du vil slette denne oppføringen lykkes, må du slette postene som forårsaker konflikten begrensning.

Oppløsning


Hvis du vil løse dette problemet, følger du denne fremgangsmåten.

Obs! Før du følger instruksjonene i denne artikkelen, må du kontrollere at du har en fullstendig sikkerhetskopi av databasen som kan gjenopprettes hvis det oppstår et problem.

Hvis du vil identifisere tabellen der sletting-tjenesten mislykkes, gjør du følgende:
  1. På Microsoft Dynamics CRM-serveren, klikker du Start, klikker du
    Kjør, Skriv inn cmd, og klikk deretter
    OK.
  2. Ved ledeteksten, Skriv inn mappencrmdeletionservice.exe – runonce, og trykk deretter ENTER.

    Obs! Crmdeletionservice.exe-filen finnes som standard i stasjon: \Programfiler\Microsoft Dynamics CRM\server\bin directory.

    Deretter får du en melding som ligner følgende melding:
    Kan ikke rydde opp i følgende tabeller: kampanje
    Obs! Tabellen som returneres i meldingen er tabellen som tjenesten sletting mislyktes.
Følgende eksempel viser hvordan du kan løse dette problemet for tabellen kampanje.

Følg denne fremgangsmåten for å løse problemet for tabellen kampanje:
  1. Kjøre en setning i SQL Query Analyzer. Følg disse trinnene:
    1. Klikk Start, Alle programmer, Microsoft SQL Server, og klikk deretter Query Analyzer.
    2. Kjører følgende spørring mot den
      Navn på organisasjon_MSCRM database.

      Obs! Organisasjonsnavn er en plassholder for faktisk organisasjonsnavnet.
      delete from Campaign where DeletionStateCode = 2
      Denne spørringen returnerer en melding som ligner følgende melding:
      Slett setningen er i konflikt med begrensningen for KOLONNEREFERANSEN 'campaign_leads'. Konflikten oppstod i databasenOrganisasjonsnavn_MSCRM, tabellen 'LeadBase', 'CampaignId'-kolonnen. Setningen har blitt avsluttet.
  2. Rett postene som forårsaker konflikten begrensning ved hjelp av en setning som ligner på følgende setning.
    Update LeadBase set CampaignId=null WHERE CampaignId IN (SELECT CampaignId FROM CampaignBase WHERE DeletionStateCode = 2)
    Obs! Tabellen og feltene som brukes i setningen, avhenger av meldingen som du fikk i trinn 1b tidligere i denne delen. I dette eksemplet angir du feltet CampaignId i tabellen LeadBase til null Hvis kampanjen er merket for sletting.
  3. Kjør følgende kommando for å kontrollere at alle tabellene har blitt rettet.
    crmdeletionservice.exe –runonce 
    Hvis du fremdeles har et problem, gjentar du trinn 1 til 3 tidligere i denne delen til å korrigere de andre betingelsene.