sql >> データベース >  >> RDS >> Sqlserver

データベースをコピーする最良の方法(SQL Server 2008)

    最も簡単な方法は、実際にはスクリプトです。

    これを本番環境で実行します:

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

    この1つのコマンドは、本番環境の可用性やバックアップスケジュールなどに干渉することなく、データベースの完全なバックアップコピーを単一のファイルに作成します。

    復元するには、開発者でこれを実行するか、SQLServerをテストします。

    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
    

    次に、これらのスクリプトを各サーバーに保存します。ワンクリックで便利。

    編集:
    復元時に論理名が一致しないというエラーが発生した場合は、次のように取得できます。

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

    SQL Serverログイン(Windows認証ではない)を使用する場合は、毎回(開発/テストマシンで)復元した後にこれを実行できます:

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


    1. 写真、音声、ビデオをSQLデータベースに保存することは可能ですか?

    2. INSERT IGNORE vs INSERT ... ON DUPLICATE KEY UPDATE

    3. SQL Server /SybaseDateDiffと同等のOracle

    4. 2つの既知の文字列から文字列を選択するSQLクエリ