KB2839722-database bestandsnamen veranderen wanneer u een database terugzet met behulp van de optie WITH REPLACE in SQL Server 2012

Symptomen

Wanneer u een database terugzet op basis van een back-up met behulp van de optie voor vervangen in Microsoft SQL Server 2012, kunnen de fysieke bestandsnamen van de herstelde database van de back-up-database worden overschreven door de fysieke bestandsnamen van de bestaande database. Kijk bijvoorbeeld naar het volgende scenario:

  • U hebt twee exemplaren van SQL Server, Instancea en InstanceB.

  • U hebt een database met dezelfde naam SQLDB voor elk exemplaar van SQL Server.

  • Op de naam van de SQLDB-database is de naam van het gegevensbestand van de database DB1_InstanceA. MDF en is de naam van het logboekbestand DB1_InstanceA. ldf.

  • In InstanceB is de naam van het SQLDB-database gegevensbestand DB1_InstanceB. MDF en is de naam van het logboekbestand DB1_InstanceB. ldf.

  • U probeert een back-up van de SQLDB-database te herstellen van Exemplaara via de SQLDB-database van InstanceB met behulp van de optie with replace van de opdracht Restore .

In dit scenario worden de fysieke bestandsnamen in SQLDB op InstanceB gewijzigd in DB1_InstanceA. MDF en DB1_InstanceA. ldf. 

Oorzaak

Dit gedrag is inherent aan het ontwerp in SQL Server 2012.

Workaround

U kunt dit probleem omzeilen door de optie met de functie vervangen van de opdracht herstellen te niet gebruiken. Gebruik in plaats daarvan de optie met VERplaatsings optie.Opmerking De optie met verplaatsen biedt een optie waarmee u de fysieke bestandsnaam kunt wijzigen.

Meer informatie

De optie met VERplaatsings optie is alleen voor de eerste keer dat u de opdracht herstellen gebruikt. Wanneer u een database probeert te herstellen uit de back-up, worden de waarden van de herstel vork van de database vergeleken met SQL Server. Vervolgens worden de volgende acties uitgevoerd, afhankelijk van of de waarden overeenkomen met deze waarden:

  • Als er sprake is van een overeenkomst, wordt de back-upset voortgezet met de bestandsnamen van de doeldatabase.

  • Als de waarden verschillend zijn, worden de fysieke bestandsnamen van de doeldatabase vervangen door de namen van de back-upsets.

Wanneer u de optie met de optie voor verplaatsen gebruikt in combinatie met de opdracht herstellen , worden de volgende acties uitgevoerd:

  1. Er wordt een nieuwe herstel vork gemaakt op de doelserver.

  2. Bij de volgende herstelbewerking worden de vertakking-Id's van de herstel vork van de back-upset vergeleken met de Id's van de doelserver.

  3. Met de optie herstellen met de optie vervangen behoudt u de fysieke namen op de doelserver.

Zie herstellen (Transact-SQL) voor meer informatie over de opdracht herstellen .

Meer hulp nodig?

Uw vaardigheden uitbreiden
Training verkennen
Als eerste nieuwe functies krijgen
Deelnemen aan Microsoft insiders

Was deze informatie nuttig?

Bedankt voor uw feedback.

Hartelijk dank voor uw feedback! Het lijkt ons een goed idee om u in contact te brengen met een van onze Office-ondersteuningsagenten.

×