sql >> Database >  >> RDS >> Sqlserver

Hoe maak je een back-up en herstel je een database als een kopie op dezelfde server?

RESTORE FILELISTONLY is een informatieve opdracht en is niet vereist om een ​​herstelbewerking uit te voeren. Een gebruiker kan dit gebruiken om erachter te komen wat de logische namen zijn voor de gegevensbestanden, die kunnen worden gebruikt met de MOVE commando's om de database naar een nieuwe locatie te herstellen.

Zoals gesuggereerd door de foutmelding moet je RESTORE FILELISTONLY . gebruiken om te zien wat de logische namen voor de database zijn. Uw herstelopdracht heeft deze verkeerd.

Hier is een werkend voorbeeld van wat u moet doen:

--backup the database
backup database test1 to disk='c:\test1_full.bak'

-- use the filelistonly command to work out  what the logical names 
-- are to use in the MOVE commands.  the logical name needs to
-- stay the same, the physical name can change
restore filelistonly from disk='c:\test1_full.bak'
 --------------------------------------------------
|  LogicalName  |           PhysicalName           |
 --------------------------------------------------
| test1         | C:\mssql\data\test1.mdf          |
| test1_log     | C:\mssql\data\test1_log.ldf      |
 -------------------------------------------------

restore database test2 from disk='c:\test1_full.bak'
with move 'test1' to 'C:\mssql\data\test2.mdf',
move 'test1_log' to 'C:\mssql\data\test2.ldf'


  1. Hoe de kwetsbaarheidskloof in PostgreSQL te dichten

  2. Postgres trigger-gebaseerde invoegomleiding zonder RETURNING te verbreken

  3. Wat is MariaDB Enterprise en hoe beheer je het met ClusterControl?

  4. dbms_lob.getlength() vs. length() om de blob-grootte in oracle te vinden