Applies ToSQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Express SQL Server 2012 Standard SQL Server 2012 Web SQL Server 2012 Enterprise Core

Symptomer

Når du gjenoppretter en database fra en sikkerhetskopi ved hjelp av alternativet Med Erstatt i Microsoft SQL Server 2012, kan fysisk filnavn på den gjenopprettede databasen som kommer fra sikkerhetskopien av databasen overskrive fysisk filnavn på den eksisterende databasen.Vurder for eksempel følgende scenario:

  • Du har to forekomster av SQL Server, InstanceA og InstanceB.

  • Du har en database med samme navn, SQLDB, for hver forekomst av SQL Server.

  • SQLDB navnet på databasefilen data er DB1_InstanceA.mdf på InstanceA, og navnet på loggfilen er DB1_InstanceA.ldf.

  • SQLDB navnet på databasefilen data er DB1_InstanceB.mdf på InstanceB, og navnet på loggfilen er DB1_InstanceB.ldf.

  • Du prøver å gjenopprette en sikkerhetskopi av databasen SQLDB fra InstanceA over SQLDB-databasen fra InstanceB ved å bruke alternativet Med Erstatt kommandoen GJENOPPRETT .

I dette scenariet endret fysiske filnavnene på SQLDB på InstanceB til DB1_InstanceA.mdf og DB1_InstanceA.ldf.

Årsak

Denne virkemåten er standard i SQL Server 2012.

Løsningen

Du kan omgå dette problemet ved å ikke bruke alternativet Med Erstatt kommandoen GJENOPPRETT . I stedet kan du bruke alternativet Med å flytte .Merk alternativet Med Flytt inneholder et alternativ for å endre navnet på fysisk.

Hvis du vil ha mer informasjon

Med Flytt -alternativet er bare den første gangen du bruker kommandoen GJENOPPRETT nødvendig. Når du prøver å gjenopprette en database fra sikkerhetskopien, sammenligner verdiene gaffel for gjenoppretting av databasen i SQL Server. Deretter tar sikkerhetskopisettet følgende, avhengig av om disse verdiene samsvarer med:

  • Hvis det finnes en match, fortsetter sikkerhetskopisettet å bruke filnavnene til måldatabasen.

  • Hvis verdiene er forskjellige, erstatter sikkerhetskopisettet fysiske filnavnene til måldatabasen ved hjelp av navn fra sikkerhetskopisettet.

Når du bruker alternativet Med å flytte sammen med kommandoen GJENOPPRETT , tas følgende handlinger:

  1. Det opprettes en ny gjenoppretting forgrening på målserveren.

  2. På den neste gjenopprettingsoperasjonen er gjenoppretting gaffel IDer fra sikkerhetskopisettet samsvare med IDene til målserveren.

  3. GJENOPPRETTE kommandoen som brukes sammen med alternativet Med Erstatt holder fysiske navn på målserveren.

Hvis du vil ha mer informasjon om kommandoen GJENOPPRETT , se GJENOPPRETTE (Transact-SQL)

Trenger du mer hjelp?

Vil du ha flere alternativer?

Utforsk abonnementsfordeler, bla gjennom opplæringskurs, finn ut hvordan du sikrer enheten og mer.

Fellesskap hjelper deg med å stille og svare på spørsmål, gi tilbakemelding og høre fra eksperter med stor kunnskap.