Premikanje zbirke podatkov SQL Server 7.0 v nov strežnik z VARNOSTNIM KOPIRANJEM in OBNOVITVIJO

Prevodi člankov Prevodi člankov
ID članka: 304692 - Oglejte si izdelke, na katere se nanaša ta članek.
Razširi vse | Zmanjšaj

Na tej strani

POVZETEK

V tem članku je opisan postopek za obnovitev varnostnih kopij zbirke podatkov za uporabnike in sisteme v drugem strežniku SQL Server 7.0, ki ima drugačno konfiguracijo črke pogona od strežnika, v katerega ste prvotno varnostno kopirali zbirke podatkov. Ta način je uporaben, kadar želite premakniti zbirko podatkov, tako da uporabite njene varnostne kopije ali obnovitve. Če želite več informacij o nadomestnem načinu, kliknite to številko članka v Microsoftovi zbirki znanja:
224071 Premikanje zbirke podatkov SQL na novo mesto s funkcijama »Detach« (Odpni) in »Attach« (Priloži) v strežniku SQL (Ta povezava lahko vodi k besedilu, ki je delno ali v celoti v angleščini)
OPOMBA: Navodila v tem članku ne veljajo za SQL Server 2000.

V strežniku SQL Server 2000 ne morete obnoviti sistemskih zbirk podatkov iz strežnika SQL Server 7.0 master, model, msdb ali razporeditve. Sistemske zbirke podatkov v strežniku SQL Server 7.0 niso združljive s strežnikom SQL Server 2000.

DODATNE INFORMACIJE

Primeri v tem članku temeljijo na teh domnevah:
  • Imenik ciljne namestitve strežnika SQL Server 7.0 je D:\Mssql7, privzeti imenik za datoteke zbirke podatkov in dnevniške datoteke pa D:\Mssql7\data.
  • Imenik originalne namestitve strežnika SQL Server 7.0 je C:\Mssql7, privzeti imenik za datoteko zbirke podatkov in dnevniške datoteke pa C:\Mssql7\data.

Zahteve

  • Tam, kjer so trenutno zbirke podatkov, naredite njihovo trenutno varnostno kopijo, predvsem zbirk podatkov master, model inmsdb.
  • Za to potrebujete pravice sistemskega skrbnika.
  • Poznati je treba tako logično kot tudi fizično ime vseh podatkov in dnevniških datotek za zbirke podatkov, ki jih želite obnoviti.

    OPOMBA: Če želite ugotoviti logično in fizično ime vseh datotek, kij ih želite obnoviti v nizu varnostnega kopiranja, v analizatorju poizvedbe zaženite spodnji ukaz, kjer je mydbdata.bak ime datoteke, ki vsebuje varnostno kopijo zbirke podatkov:
    RESTORE FILELISTONLY FROM DISK='d:\mssql7\backup\mydbdata.bak'
    go
    					
  • Za vir in cilj namestitve strežnika SQL Server 7.0 naj bi veljali isti servisni paketi in popravki.
Če med postopkom naletite na težave in ne morete dostopati do zbirke podatkov, ki ste jo premaknili, ali če ne morete zagnati strežnika SQL, preverite, ali so v dnevniku napak strežnika SQL in v elektronskih knjigah za SQL Server 7.0 kakšne podrobnosti o napakah, na katere ste naleteli.

Obnovitev zbirk podatkov

  1. Obnovitev zbirke podatkov master

    V spodnjem primeru zbirka podatkov master vsebuje eno podatkovno datoteko Master.mdf in eno dnevniško datoteko Mastlog.ldf iz celotne datoteke z varnostno kopijo zbirke podatkov Master_db.bak.
    1. Če želite zagnati strežnik SQL, v ukazni vrstici zaženite spodnji ukaz:
      d:\mssql7\binn\sqlservr -c -m

      OPOMBA: Stikalo -m zažene strežnik SQL v načinu enega uporabnika. V načinu enega uporabnika ni mogoče uspešno vzpostaviti več kot ene povezave. Preden vzpostavite povezavo z analizatorjem poizvedb strežnika SQL, je treba vedeti, ali obstaja še kak drug odjemalec ali storitev, ki lahko vzpostavi takšno povezavo .
    2. V analizatorju poizvedb strežnika SQL s spodnjo skladnjo obnovite varnostno kopijo zbirke podatkov master:
      RESTORE DATABASE master FROM disk='d:\mssql7\backup\master_db.bak'
      WITH MOVE 'master' to 'd:\mssql7\data\master.mdf',
      MOVE 'mastlog' to 'd:\mssql7\data\mastlog.ldf',
      REPLACE
      go
      OPOMBA: Ko obnovite zbirko podatkov master, se strežnik SQL samodejno zapre.
    3. Če želite zagnati strežnik SQL, v ukazni vrstici zaženite spodnji ukaz:
      d:\mssql7\binn\sqlservr -c -f -T3608 -T4022
      OPOMBA: S to skladnjo lahko posodobite sistemsko tabelo.
    4. V analizatorju poizvedb strežnika SQL izvedite spodnji niz izjav:

      OPOZORILO: Nepravilna posodobitev sistemskih tabel lahko povzroči resne težave, zaradi katerih bo morda treba znova namestiti strežnik SQL. Microsoft ne more zagotoviti rešitve težav zaradi nepravilne posodobitve sistemskih tabel. Sistemske tabele posodabljate na lastno odgovornost.
      USE master
      go
      UPDATE sysdatabases SET filename='d:\mssql7\data\tempdb.mdf' WHERE name='tempdb'
      go
      ALTER DATABASE tempdb MODIFY FILE (name = tempdev, filename = 'd:\mssql7\data\tempdb.mdf')
      ALTER DATABASE tempdb MODIFY FILE (name = templog, filename = 'd:\mssql7\data\templog.ldf')
      go
      Prejeli boste spodnja sporočila, ki potrjujejo spremembo:
      File 'tempdev' modified in sysaltfiles. (Datoteka tempdev' je bila spremenjena v tabeli »sysaltfiles«). Delete old file after restarting SQL Server. (Ko znova zaženete strežnik SQL, izbrišite staro datoteko.)

      File 'templog' modified in sysaltfiles. (Datoteka 'templog' je spremenjena v tabeli »sysaltfiles«.) Delete old file after restarting SQL Server. (Ko znova zaženete strežnik SQL, izbrišite staro datoteko.)
  2. Obnovitev zbirke podatkov model

    V spodnjem primeru zbirka podatkov model vsebuje eno podatkovno datoteko Model.mdf in eno dnevniško datoteko Modellog.ldf iz celotne datoteke varnostne kopije zbirke podatkov Model_db.bak. Če nimate varnostne kopije zbirke podatkov model ali če želite uporabiti zbirko, ki je privzeto nameščena med namestitvijo strežnika SQL, lahko zbirko podatkov model preslikate. Ta procedura je podobna tisti, opisani v 4. koraku za zbirki podatkov northwind in pubs.
    1. V analizatorju poizvedb strežnika SQL izvedite spodnjo shranjeno proceduro, da iz strežnika SQL odpnete trenutno zbirko podatkov model:
      exec sp_detach_db N'model'
      go
      Ko izvedete shranjeno proceduro, prejmete spodnje sporočilo:
      Successfully detached database 'model' (Zbirka podatkov 'model' je bila uspešno odpeta.)
      DBCC execution completed. (Izvedba DBCC je dokončana.) Če DBCC natisne sporočila o napaki, se obrnite na sistemskega skrbnika
      OPOMBA: Ker zbirke podatkov model ni mogoče neposredno prepisati z izjavo RESTORE (OBNOVI), jo je treba odpeti. Pred obnovitvijo zbirke podatkov je v tej sistemski zbirki podatkov treba odstraniti sklice zanjo. Poleg tega ni mogoče spustiti zbirke podatkov, zato da bi odstranili te sistemske vnose.
    2. V analizatorju poizvedb strežnika SQL uporabite spodnjo skladnjo za obnovitev varnostne kopije zbirke podatkov model:
      RESTORE DATABASE model FROM disk='d:\mssql7\backup\model_db.bak'
      WITH MOVE 'modeldev' TO 'd:\mssql7\data\model.mdf',
           MOVE 'modellog' TO 'd:\mssql7\data\modellog.ldf',
           REPLACE
      go
      Opomba Ko obnovite zbirko podatkov model, je povezava s strežnikom SQL prekinjena.
  3. Obnovitev zbirke podatkov msdb

    V spodnjem primeru zbirka podatkov msdb vsebuje eno podatkovno datoteko Msdbdata.mdf in eno dnevniško datoteko Msdblog.ldf iz celotne datoteke varnostne kopije zbirke podatkov Msdb_db.bak.
    1. Če želite zagnati strežnik SQL, v ukazni vrstici zaženite spodnji ukaz:
      d:\mssql7\binn\sqlservr -c -f -T3608 -T4022
    2. V analizatorju poizvedb strežnika SQL izvedite spodnjo shranjeno proceduro, da odpnete zbirko podatkov msdb:
      exec sp_detach_db N'msdb'
      go
    3. V analizatorju poizvedb strežnika SQL uporabite spodnjo skladnjo za obnovitev varnostne kopije zbirke podatkov msdb:
      RESTORE DATABASE msdb FROM disk='d:\mssql7\backup\msdb_db.bak'
      WITH MOVE 'msdbdata' TO 'd:\mssql7\data\msdbdata.mdf',
           MOVE 'msdblog' TO 'd:\mssql7\data\msdblog.ldf',
           REPLACE
      go
      Opomba Ko obnovite zbirko podatkov msdb, se povezava s strežnikom SQL prekine.
  4. Zbirki podatkov northwind in pubs:

    Ko obnovite zbirko podatkov master, se spremenijo vnosi sistemske tabele za zbirki podatkov northwind in pubs, tako da sta ti dve zbirki podatkov, tako kot vse druge uporabniške zbirke podatkov, v načinu »Suspect«. Če želite znova uporabiti prvotne datoteke v zbirki podatkov in jih znova priložiti strežniku, lahko uporabite spodnji primer. Sicer pa, če želite v varnostni kopiji obnoviti kopijo, uporabite primer zbirke podatkov mydb, ki je opisan v 6. koraku. S spodnjim primerom posodobite sklice sistemske tabele za zbirko podatkov northwind. Zbirka podatkov northwind vsebuje eno podatkovno datoteko Northwind.mdf in eno dnevniško datoteko Northwind.ldf.
    1. Če želite zagnati strežnik SQL, v ukazni vrstici zaženite spodnji ukaz:
      d:\mssql7\binn\sqlservr -c -f -T3608 -T4022
    2. V analizatorju strežnika SQL izvedite spodnjo shranjeno proceduro za odpenjanje zbirke podatkov northwind:
      exec sp_detach_db N'northwind'
      go

      OPOMBA: Morda boste prejeli spodnje sporočilo, da ni dostopa do fizičnih datotek:
      Server: (Strežnik:) Msg 947, Level 16, State 1, Line 1 Error while closing database 'Northwind' cleanly. (Prišlo je do napake pri čistem zapiranju zbirke podatkov 'Northwind'.)
      Successfully detached database 'northwind'. (Odpenjanje zbirke podatkov 'northwind' je bilo uspešno izvedeno.)
      DBCC execution completed. (Izvedba DBCC je dokončana.) If DBCC printed error messages, contact your system administrator. (Če DBCC natisne sporočilo o napaki, se obrnite na sistemskega skrbnika.)
    3. V analizatorju poizvedbe strežnika SQL uporabite spodnjo skladnjo za priložitev zbirke podatkov northwind:
      exec sp_attach_db N'northwind', N'd:\mssql7\data\northwnd.mdf', N'd:\mssql7\data\northwnd.ldf'
      go
  5. Preslikava zbirke podatkov pubs

    Zbirka podatkov pubs vsebuje eno podatkovno datoteko Pubs.mdf in eno dnevniško datoteko Pubs_log.ldf. Zbirko podatkov pubs lahko preslikate na enak način kot zbirko podatkov northwind.
  6. Obnovitev zbirke podatkov mydb

    Zbirka podatkov mydb vsebuje eno podatkovno datoteko Mydbdata.mdf in eno dnevniško datoteko Mydblog.ldf iz celotne datoteke varnostne kopije zbirke podatkov Mydb_db.bak.
    1. V analizatorju poizvedb strežnika SQL izvedite spodnjo shranjeno proceduro za odpenjanje zbirke podatkov mydb:
      exec sp_detach_db N'mydb'
      go
    2. V analizatorju poizvedbe strežnika SQL uporabite spodnjo skladnjo za obnovitev varnostne kopije zbirke podatkov mydb:
      RESTORE DATABASE mydb FROM disk='d:\mssql7\backup\mydb_db.bak'
      WITH MOVE 'mydbdata' TO 'd:\mssql7\data\mydbdata.mdf',
           MOVE 'mydblog' TO 'd:\mssql7\data\mydblog.ldf',
           REPLACE
      go
  7. Preimenovanje strežnika SQL

    POMEMBNO: Ta procudura je potrebna, le če je treba spremeniti ime namestitve strežnika SQL, v kateri ste ravnokar obnovili zbirko podatkov master.

    Strežnik SQL lahko na primer spremenite, kadar:

    • ste obnovili varnostne kopije zbirke podatkov iz računalnika z imenom »SOURCESVR« v računalnik z imenom »TARGETSVR«;
    • računalnik z imenom »TARGETSVR« ima strežnik SQL z imenom »SOURCESVR«.
    Če je treba preimenovati strežnik SQL, s spodnjo skladnjo sinhronizirajte ime računalnika in ime strežnika SQL:
    exec sp_dropserver 'SOURCESVR'
    go
    exec sp_addserver 'TARGETSVR', 'LOCAL'
    go
  8. Znova zaženite storitev strežnika SQL.

VIRI

Če želite več informacij, kliknite to številko članka iz Microsoftove zbirke znanja:
224071 Premikanje zbirke podatkov SQL na novo mesto s funkcijama »Detach« (Odpni) in »Attach« (Priloži) v strežniku SQL (Ta povezava lahko vodi k besedilu, ki je delno ali v celoti v angleščini)
314546 Premikanje zbirk podatkov med računalniki, v katerih je nameščen strežnik SQL (Ta povezava lahko vodi k besedilu, ki je delno ali v celoti v angleščini)
OPOMBA: Če želite dodatne informacije o drugih možnostih zagona, kot so -c, -m in -f, glejte elektronske knjige za strežnik SQL.

Lastnosti

ID članka: 304692 - Zadnji pregled: 29. december 2007 - Revizija: 3.1
VELJA ZA
  • Microsoft SQL Server 7,0 Standard Edition
Ključne besede: 
kbinfo KB304692

Pošlji povratne informacije

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com