Simptomi
Kada bazu podataka vratite iz sigurnosne kopije pomoću mogućnosti Zamijeni pomoću u programu Microsoft SQL Server 2012, nazivi fizičkih datoteka obnovljene baze podataka koji dolaze iz baze podataka sigurnosne kopije mogu prebrisati nazive fizičkih datoteka postojeće baze podataka. Primjerice, razmotrite sljedeći scenarij:
-
Imate dvije instance sustava SQL Server, InstanceA i InstanceB.
-
Imate bazu podataka koja ima isti naziv, SQLDB, u svakoj instanci sustava SQL Server.
-
Naziv podatkovne datoteke baze podataka SQLDB u sustavu InstanceA jest DB1_InstanceA. MDF i naziv datoteke zapisnika DB1_InstanceA. ldf.
-
Naziv podatkovne datoteke baze podataka SQLDB na stranici InstanceB jest DB1_InstanceB. MDF i naziv datoteke zapisnika DB1_InstanceB. ldf.
-
Pokušajte vratiti sigurnosnu kopiju baze podataka SQLDB iz programa InstanceA na bazu podataka SQLDB iz programa InstanceB pomoću mogućnosti zamjena naredbe za Vraćanje .
U ovom scenariju nazivi fizičkih datoteka na servisu SQLDB na InstanceB mijenjaju se u DB1_InstanceA. MDF i DB1_InstanceA. ldf.
Uzrok
To je ponašanje prema dizajnu u sustavu SQL Server 2012.
Zaobilazno rješenje
Da biste zaobišli taj problem, ne koristite mogućnost Zamijeni zamjenom naredbe Vraćanje . Umjesto toga, pomoću mogućnosti Premjesti .Napomena Mogućnost za Premještanje sadrži mogućnost promjene naziva fizičke datoteke.
Dodatne informacije
Mogućnost s premještanjem potrebna je samo prilikom prvog korištenja naredbe Vraćanje . Kada pokušate vratiti bazu podataka iz sigurnosne kopije, SQL Server uspoređuje vrijednosti vilice za oporavak baze podataka. Zatim će skup sigurnosnih kopija preuzeti sljedeće akcije, ovisno o tome podudaraju li se te vrijednosti:
-
Ako postoji podudaranje, skup sigurnosnih kopija nastavit će koristiti nazive datoteka ciljne baze podataka.
-
Ako su vrijednosti različita, skup sigurnosnih kopija zamjenjuje nazive fizičkih datoteka ciljne baze podataka pomoću naziva iz skupa sigurnosnih kopija.
Kada koristite mogućnost s premještanjem uz naredbu Vraćanje , poduzimaju se sljedeće akcije:
-
Na ciljnom poslužitelju stvara se nova vilica za oporavak.
-
U sljedećem postupku vraćanja ID-ovi za oporavak iz skupa sigurnosnih kopija podudaraju se s ID-om odredišnog poslužitelja.
-
Naredba Vraćanje koja se koristi uz mogućnost Zamijeni zamjenom zadržava fizička imena na odredišnom poslužitelju.
Dodatne informacije o naredbi Vraćanje potražite u članku Vraćanje (Transact-SQL)