sql >> Databáze >  >> RDS >> Sqlserver

Nejlepší způsob kopírování databáze (SQL Server 2008)

Nejjednodušší způsob je vlastně skript.

Spusťte to v produkci:

USE MASTER;

BACKUP DATABASE [MyDatabase]
TO DISK = 'C:\temp\MyDatabase1.bak' -- some writeable folder. 
WITH COPY_ONLY

Tento jeden příkaz vytvoří úplnou záložní kopii databáze do jednoho souboru, aniž by to ovlivnilo dostupnost produkce nebo plán zálohování atd.

Chcete-li obnovit, spusťte toto na svém vývojáři nebo otestujte SQL Server:

USE MASTER;

RESTORE DATABASE [MyDatabase]
FROM DISK = 'C:\temp\MyDatabase1.bak'
WITH
MOVE 'MyDatabase'   TO 'C:\Sql\MyDatabase.mdf', -- or wherever these live on target
MOVE 'MyDatabase_log'   TO 'C:\Sql\MyDatabase_log.ldf',
REPLACE, RECOVERY

Poté uložte tyto skripty na každý server. Pohodlí jedním kliknutím.

Upravit:
Pokud se při obnově zobrazí chyba, že se logické názvy neshodují, můžete je dostat takto:

RESTORE FILELISTONLY
FROM disk = 'C:\temp\MyDatabaseName1.bak'

Pokud používáte přihlášení k serveru SQL (ne ověřování systému Windows), můžete to spustit po každém obnovení (na vývojářském/testovacím počítači):

use MyDatabaseName;
sp_change_users_login 'Auto_Fix', 'userloginname', null, 'userpassword';


  1. je rychlejší vkládat řádky v pořadí primárního klíče?

  2. Aktualizujte více řádků v tabulce z jiné tabulky, pokud existuje podmínka

  3. Chyba Mysql datetime DEFAULT CURRENT_TIMESTAMP

  4. Java.lang.IllegalStateException:Již připojeno