sql >> Databasteknik >  >> RDS >> Sqlserver

Hur säkerhetskopierar och återställer man en databas som en kopia på samma server?

RESTORE FILELISTONLY är ett informationskommando och krävs inte för att utföra en återställning. En användare kan använda detta för att ta reda på vilka de logiska namnen är för datafilerna som kan användas med MOVE kommandon för att återställa databasen till en ny plats.

Som föreslås av felmeddelandet måste du använda RESTORE FILELISTONLY för att se vilka de logiska namnen för databasen är. Ditt återställningskommando har dessa felaktiga.

Här är ett fungerande exempel på vad du behöver göra:

--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. T-SQL SET Operatörer del 2:KORS och UTOM

  2. Hur man exporterar data från SQL Server 2005 till MySQL

  3. Anslut bord från två olika servrar

  4. SQL Join på null-värden