Logige sisse Microsofti kontoga
Logige sisse või looge konto.
Tere!
Valige mõni muu konto.
Teil on mitu kontot
Valige konto, millega soovite sisse logida.

Sümptomid

Arvestage järgmise stsenaariumiga.

  • Installite Microsoft SQL Server 2005, Microsoft SQL Server 2008 või Microsoft SQL Server 2008 R2 eksemplari.

  • SQL Serveri eksemplari nimi on INST1 ja selles on kujutatud andmebaas, mille nimi on Test_RO_FG_DB.

  • Andmebaas sisaldab järgmisi faile:

    • Esmane

    • RO_FG

    • RW_FG

  • RO_FG nimega failirühma on märgitud READ_ONLY.

  • Installite uue eksemplari Microsoft SQL Server 2012. See SQL Server 2012 eksemplar on nimega INST2.

  • Eemaldate Test_RO_FG_DB andmebaasi INST1.

  • Proovite manustada Test_RO_FG_DB andmebaasi INST2.

  • Kuvatakse tõrketeade, mis sarnaneb järgmisega:

    MSG 3415, tase 16, olek 2, rea 1Database ' Test_RO_FG_DB ' ei saa uuendada, sest see on kirjutuskaitstud, on kirjutuskaitstud failid või kasutajal pole õigust mõnda faili muuta. Veenduge, et andmebaas või failid on kirjutatavad, ja käivitage uuesti taaste.

  • Proovite Test_RO_FG_DB andmebaasi uuesti manustada INST1.

Selle stsenaariumi korral ei saa andmebaasi INST1 uuesti manustada. SQL serveri tõrkelogi kuvatakse järgmine tõrketeade:

Märkus. See probleem ilmneb ainult siis, kui proovite manustada andmebaasi, mis sisaldab READ_ONLY märgitud failirühma. See probleem ilmneb siis, kui proovite teisaldamiseks READ_ONLY andmebaasi, kus kõik andmed on märgitud READ_ONLY.

Põhjus

See probleem ilmneb, sest SQL Server 2012 ei tuvasta kirjutuskaitstud failirühma enne, kui see hakkab andmebaasi värskendama. Pärast uuenduse käivitamist kirjutab SQL Server 2012 kirjed tehingulogi. Varasemad versioonid ei saa uute tehingute Logi kandeid lugeda.

Olek

Microsoft on kinnitanud, et see probleem esineb jaotises "kehtib järgmiste toodete kohta" loetletud Microsofti toodetes.

Lahendus

Kumulatiivse värskenduse teave

SQL Server 2012

Selle probleemi lahendus anti esmakordselt välja kumulatiivne Update 2 for SQL Server 2012. Selle kumulatiivse värskenduspaketi kohta lisateabe saamiseks klõpsake Microsofti teabebaasi (Knowledge Base) artikli kuvamiseks järgmist artiklinumbrit:

2703275 SQL Serveri 2012 koondvärskenduses pakett 2Märkus. Kuna järgud on kumulatiivsed, sisaldab iga uus parandus kõiki Kiirparandusi ja kõiki turvaparandusi, mis kuulusid eelmise SQL Serveri 2012 Fix väljalaskega. Microsoft soovitab, et te loobuksid kõige uuemate paranduste lubamisest, mis sisaldavad seda käigultparandust. Lisateabe saamiseks klõpsake Microsofti teabebaasi (Knowledge Base) artikli kuvamiseks järgmist artiklinumbrit:

2692828 Pärast SQL Server 2012 väljaandmist väljaantud SQL Serveri 2012 järgud Peate rakendama SQL Serveri 2012 käigultparanduse SQL Server 2012 installimisel.

Lahendus

Selle probleemi lahendamiseks kasutage ühte järgmistest meetoditest.Meetod 1Taastada andmebaasi varukoopia INST1 veebisaidil INST2.Märkus. Jaotises "Tunnused" kirjeldatud probleemi ei esine SQL Server 2012, kui taastate varasemast versioonist varukoopia.Meetod 2Sooritage SQL serveri varasema versiooni kohapealne värskendamine SQL Server 2012.Meetod 3Andmebaasi, mis sisaldab kirjutuskaitstud failirühma, saab kasutada SQL Server 2012 eksemplariks. Selleks toimige järgmiselt.Märkus. Saate teha toiminguid 4 – 11 serveris, kus töötab SQL Server 2012. Näiteks saate teha toiminguid 4 – 11 INST2.

  1. Eemaldage andmebaas INST1. Näiteks eraldage Test_RO_FG_DB andmebaas.

  2. Viige andmebaasi failid serverisse, mis majutab INST2 eksemplari.

  3. Proovige manustada andmebaas INST2. Järgmine valimi kood näitab, kuidas seda teha.

    CREATE DATABASE [Test_RO_FG_DB] ON PRIMARY ( NAME = N'Test_RO_FG', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.SQL2012\MSSQL\DATA\Test_RO_FG.mdf' ), FILEGROUP [RO_FG] ( NAME = N'Test_RO_FG_File1', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.SQL2012\MSSQL\DATA\Test_RO_FG_File1.ndf' ), FILEGROUP [RW_FG] ( NAME = N'Test_RW_FG_File1', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.SQL2012\MSSQL\DATA\Test_RW_FG_File1.ndf' )LOG ON ( NAME = N'Test_RO_FG_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.SQL2012\MSSQL\DATA\Test_RO_FG_log.ldf' )FOR ATTACH;GO

    Märkus. Kuvatakse jaotises "Tunnused" kirjeldatud 3425 tõrketeade.

  4. Nimetage käsureal ümber andmebaasi failid. Järgmises näites on näha, kuidas seda teha.

    rename Test_RO_FG.mdf original_Test_RO_FG.mdfrename Test_RO_FG_File1.ndf original_Test_RO_FG_File1.ndfrename Test_RW_FG_File1.ndf original_Test_RW_FG_File1.ndfrename Test_RO_FG_log.ldf original_Test_RO_FG_log.ldf 
  5. Looge SQL serveri halduse stuudios andmebaas, millel on sama nimi ja füüsiline struktuur kui see, mida soovite manustada. Järgmine valimi kood näitab, kuidas seda teha.

    CREATE DATABASE [Test_RO_FG_DB] ON PRIMARY ( NAME = N'Test_RO_FG_DB', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.SQL2012\MSSQL\DATA\Test_RO_FG_DB.mdf' , SIZE = 4072KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB ), FILEGROUP [RO_FG] ( NAME = N'Test_RO_FG_File1', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.SQL2012\MSSQL\DATA\Test_RO_FG_File1.ndf' , SIZE = 8192KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB ), FILEGROUP [RW_FG] ( NAME = N'Test_RW_FG_File1', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.SQL2012\MSSQL\DATA\Test_RW_FG_File1.ndf' , SIZE = 8192KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )LOG ON ( NAME = N'Test_RO_FG_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.SQL2012\MSSQL\DATA\Test_RO_FG_log.ldf' , SIZE = 1024KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)GO
  6. Andmebaasi määramine ühenduseta režiimis. Selleks käivitage järgmine käsk.

    ALTER DATABASE [Test_RO_FG_DB] SET OFFLINEGO 
  7. Nimetage käsuviiba kaudu ümber uues andmebaasis olevad failid. Järgmises näites on näha, kuidas seda teha.

    rename Test_RO_FG.mdf new_Test_RO_FG.mdfrename Test_RO_FG_File1.ndf new_Test_RO_FG_File1.ndfrename Test_RW_FG_File1.ndf new_Test_RW_FG_File1.ndfrename Test_RO_FG_log.ldf new_Test_RO_FG_log.ldf 
  8. Nimetage käsureal juhises 2 teisaldatud andmebaasi failid ümber. Nimetage failid ümber juhises 4 loodud andmebaasile vastavaks. Järgmises näites on näha, kuidas seda teha.

    rename original_Test_RO_FG.mdf Test_RO_FG.mdf rename original_Test_RO_FG_File1.ndf Test_RO_FG_File1.ndf rename original_Test_RW_FG_File1.ndf Test_RW_FG_File1.ndf rename original_Test_RO_FG_log.ldf Test_RO_FG_log.ldf 
  9. Andmebaasi häälestamine veebis. Selleks käivitage järgmine käsk.

    ALTER DATABASE [Test_RO_FG_DB] SET ONLINEGO 
  10. Veenduge, et andmebaas on võrgus ja taastage teenuse maakleri funktsionaalsus.

  11. Kustutage andmebaasi failid, mida pole vaja. Järgmises näites on näha, kuidas seda teha.

    del /P new_Test_RO_FG.mdfdel /P new_Test_RO_FG_File1.ndfdel /P new_Test_RW_FG_File1.ndfdel /P new_Test_RO_FG_log.ldf 

Meetod 4Saate uuesti manustada andmebaasi, mis sisaldab SQL serveri varasema eksemplari kirjutuskaitstud failirühma. Selleks toimige järgmiselt.Märkused.

  • Andmebaas sisaldab ka uusi tehingulogi kirjeid ebaõnnestunud üleminekust.

  • Saate teha toiminguid 3 kuni 10 serveris, kus töötab SQL serveri varasem versioon. Näiteks saate teha juhiseid 3 – 10 INST1 kohta.

  1. Teisaldage andmebaasi failid SQL serveri eksemplarile, mis majutab INST1.

  2. Proovige manustada andmebaas INST1. Järgmine valimi kood näitab, kuidas seda teha.

    CREATE DATABASE [Test_RO_FG_DB] ON PRIMARY ( NAME = N'Test_RO_FG_DB', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008R2\MSSQL\DATA\Test_RO_FG_DB.mdf' ), FILEGROUP [RO_FG] ( NAME = N'Test_RO_FG_File1', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008R2\MSSQL\DATA\Test_RO_FG_File1.ndf' ), FILEGROUP [RW_FG] ( NAME = N'Test_RW_FG_File1', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008R2\MSSQL\DATA\Test_RW_FG_File1.ndf' )LOG ON ( NAME = N'Test_RO_FG_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008R2\MSSQL\DATA\Test_RO_FG_log.ldf' )FOR ATTACHGO

    Märkus. Kuvatakse jaotises "Tunnused" kirjeldatud 3624 tõrketeade. Kuvatakse ka 1813 tõrketeade.

  3. Nimetage käsureal INST1 andmebaasi failid ümber. Järgmises näites on näha, kuidas seda teha.

    rename Test_RO_FG.mdf original_Test_RO_FG.mdfrename Test_RO_FG_File1.ndf original_Test_RO_FG_File1.ndfrename Test_RW_FG_File1.ndf original_Test_RW_FG_File1.ndfrename Test_RO_FG_log.ldf original_Test_RO_FG_log.ldf 
  4. Looge SQL serveri halduse stuudios andmebaas, millel on sama nimi ja füüsiline struktuur kui see, mida soovite manustada. Järgmine valimi kood näitab, kuidas seda teha.

    CREATE DATABASE [Test_RO_FG_DB] ON PRIMARY ( NAME = N'Test_RO_FG_DB', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008R2\MSSQL\DATA\Test_RO_FG_DB.mdf' , SIZE = 4072KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB ), FILEGROUP [RO_FG] ( NAME = N'Test_RO_FG_File1', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008R2\MSSQL\DATA\Test_RO_FG_File1.ndf' , SIZE = 8192KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB ), FILEGROUP [RW_FG] ( NAME = N'Test_RW_FG_File1', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008R2\MSSQL\DATA\Test_RW_FG_File1.ndf' , SIZE = 8192KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )LOG ON ( NAME = N'Test_RO_FG_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008R2\MSSQL\DATA\Test_RO_FG_log.ldf' , SIZE = 1024KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)GO
  5. Andmebaasi määramine ühenduseta režiimis. Selleks käivitage järgmine käsk.

    ALTER DATABASE [Test_RO_FG_DB] SET OFFLINEGO 
  6. Nimetage käsuviiba kaudu ümber uues andmebaasis olevad failid. Järgmises näites on näha, kuidas seda teha.

    rename Test_RO_FG.mdf new_Test_RO_FG.mdfrename Test_RO_FG_File1.ndf new_Test_RO_FG_File1.ndfrename Test_RW_FG_File1.ndf new_Test_RW_FG_File1.ndfrename Test_RO_FG_log.ldf new_Test_RO_FG_log.ldf 
  7. Nimetage käsureal juhises 2 teisaldatud andmebaasi failid ümber. Nimetage failid ümber juhises 4 loodud andmebaasile vastavaks. Järgmises näites on näha, kuidas seda teha.

    rename original_Test_RO_FG.mdf Test_RO_FG.mdf rename original_Test_RO_FG_File1.ndf Test_RO_FG_File1.ndf rename original_Test_RW_FG_File1.ndf Test_RW_FG_File1.ndf rename original_Test_RO_FG_log.ldf Test_RO_FG_log.ldf 
  8. Seadke andmebaas hädaabi režiimi ja tehke parandus. Selleks käivitage järgmine käsk.Märkus. Selle toimingu käigus ehitatakse andmebaasi kannete logid ümber. See võib põhjustada andmete kaotsimineku. Seetõttu soovitame enne selle toimingu tegemist andmebaasi varundada.

    ALTER DATABASE Test_RO_FG_DB SET EMERGENCYGOALTER DATABASE Test_RO_FG_DB SET SINGLE_USERGODBCC CHECKDB (Test_RO_FG_DB, repair_allow_data_loss) WITH ALL_ERRORMSGSGOALTER DATABASE Test_RO_FG_DB SET MULTI_USERGO 
  9. Veenduge, et andmebaas on võrgus ja taastage teenuse maakleri funktsionaalsus.

  10. Kustutage andmebaasi failid, mida pole vaja. Järgmises näites on näha, kuidas seda teha.

    del /P new_Test_RO_FG.mdfdel /P new_Test_RO_FG_File1.ndfdel /P new_Test_RW_FG_File1.ndfdel /P new_Test_RO_FG_log.ldf 

Lisateave

On mitu toimingut, mis ilmnevad siis, kui andmebaas on manustatud SQL serveri eksemplarile. Need toimingud hõlmavad andmebaasi taastamist ja SQL serveri varasemate versioonide failide värskendamist. Jaotises "Tunnused" kirjeldatud probleemi korral alustab SQL Server 2012 versiooniuuenduse installimist enne andmebaasi kirjutuskaitstud failide tuvastamist. Värskendamise juhised hõlmavad ka tehingu alustamist, et tühjendada andmebaasi algkäivituse lehel "puhastatud sulgemise" osa. SQL serveri varasemad versioonid ei saa lugeda tehingu alustamise kirjet. Seetõttu pole SQL serveri varasemates versioonides kasutatav andmebaas ning SQL Server genereerib 3624 tõrke.Kohapealsed versioonitäiendused, kui andmebaas on märgitud kirjutuskaitstuksKui sooritate kohapealse värskenduse SQL Serveri eksemplariga, mis sisaldab kirjutuskaitstud andmebaasi, mille nimi on Test_RO_DB SQL Server 2012, võidakse kuvada tõrketeated, mis sarnanevad järgmisega SQL serveri tõrkelogi.

Versiooniuuenduse lõpus on Test_RO_DB andmebaas RECOVERY_PENDING olekus. Andmebaasi READ_WRITE seadmiseks peate kasutama käsku Muuda andmebaasi . Seejärel kasutage andmebaasi READ_ONLY seadmiseks käsku Muuda andmebaasi . See võimaldab SQL serveri mootoril andmebaasi täiustada õige versiooniga.Kohapealsete versioonitäienduste korral, kui loetud/Write andmebaas sisaldab ainult kirjutuskaitstuks märgitud faileKui sooritate kohapealse versiooni SQL Server 2012, võidakse kuvada SQL serveri tõrkelogi tõrketeated, mis sarnanevad järgmisega. See probleem ilmneb siis, kui SQL serveri varasem eksemplar majutab lugemis-ja Write andmebaasi ning sisaldab READ_ONLY märgitud faile. Versiooniuuenduse lõpuleviimine on aga ootuspäraselt ning andmebaas käivitub võrgus.Märkus. Järgmises tõrketeates on andmebaasi nimi Test_RO_FG:

Kas vajate veel abi?

Kas soovite rohkem valikuvariante?

Siin saate tutvuda tellimusega kaasnevate eelistega, sirvida koolituskursusi, õppida seadet kaitsma ja teha veel palju muud.

Kogukonnad aitavad teil küsimusi esitada ja neile vastuseid saada, anda tagasisidet ja saada nõu rikkalike teadmistega asjatundjatelt.

Kas sellest teabest oli abi?

Kui rahul te keelekvaliteediga olete?
Mis mõjutas teie hinnangut?
Kui klõpsate nuppu Edasta, kasutatakse teie tagasisidet Microsofti toodete ja teenuste täiustamiseks. IT-administraator saab neid andmeid koguda. Privaatsusavaldus.

Täname tagasiside eest!

×