Sümptomid
Kui taastate andmebaasi varundist, kasutades Microsoft SQL Server 2012 varianti asendaja , võivad andmebaasist pärinevad taastatud andmebaasi füüsilised failinimed üle kirjutada olemasoleva andmebaasi füüsilised nimed. Kujutage näiteks ette järgmist stsenaariumi.
-
Teil on kaks SQL Serveri eksemplari (nt ja InstanceB).
-
Teil on andmebaas, millel on iga SQL serveri eksemplar sama nimi, SQLDB.
-
Näiteks SQLDB andmebaasi andmefaili nimi on DB1_InstanceA. mdf ja logifaili nimi on DB1_InstanceA. ldf.
-
Rakenduses InstanceB on SQLDB andmebaasi andmefaili nimi DB1_InstanceB. mdf ja logifaili nimi on DB1_InstanceB. ldf.
-
Proovite taastada SQLDB andmebaasi varukoopia SQLDB andmebaasist InstanceB, kasutades käsku Taasta käsuga Asenda .
Selle stsenaariumi korral muudetakse füüsiliste failinimede SQLDB veebisaidil InstanceB DB1_InstanceA. mdf ja DB1_InstanceA. ldf.
Põhjus
Selline käitumine on kujundatud SQL Server 2012.
Lahendus
Selle probleemi lahendamiseks Ärge kasutage käsuga " Asenda " nuppu " Taasta ". Selle asemel kasutage suvandit funktsiooniga Move .Märkus. Suvandiga "funktsioon Move " annab võimaluse füüsilise failinime muutmiseks.
Lisateave
Suvandiga Teisalda on vajalik ainult esimest korda, kui kasutad käsku Taasta . Kui proovite andmebaasi varukoopia põhjal taastada, võrdleb SQL Server andmebaasi taastamise kahvli väärtusi. Siis on varunduse komplektis järgmised toimingud olenevalt sellest, kas need väärtused vastavad järgmistele väärtustele.
-
Kui vaste on olemas, jätkatakse varunduse määramist TARGETi andmebaasi failinimede kasutamisel.
-
Kui väärtused on erinevad, asendab varundi määratud andmebaasi füüsilised failinimed, kasutades varukoopiate kogumi nimesid.
Kui kasutate koos käsuga Teisalda koos käsuga Taasta , võetakse järgmised toimingud.
-
Target serveris luuakse uus taastamise kahvel.
-
Järgmisel taastamisel vastendatakse varunduse-ID-d varukoopia komplektis sihtserveri ID-dega.
-
Käsk Taasta , mida kasutatakse koos FUNKTSIOONiga asendaja , säilitab Target serveris olevad füüsilised nimed.
Lisateavet käsu Taasta kohta leiate teemast taastamine (Transact-SQL)