Megosztás a következőn keresztül:


Adatbázis áthelyezése leválasztással és csatolással (Transact-SQL)

A következőkre vonatkozik:SQL Server

Ez a témakör azt ismerteti, hogyan helyezhet át egy leválasztott adatbázist egy másik helyre, és hogyan csatolhatja újra ugyanazt vagy egy másik kiszolgálópéldányt az SQL Serveren. Javasoljuk azonban, hogy a leválasztás és csatolás helyett az ALTER DATABASE tervezett áthelyezési eljárásával helyezze át az adatbázisokat. További információ: Felhasználói adatbázisok áthelyezése.

Fontos

Javasoljuk, hogy ne csatolja vagy állítsa vissza az adatbázisokat ismeretlen vagy nem megbízható forrásokból. Az ilyen adatbázisok rosszindulatú kódot tartalmazhatnak, amelyek nem szándékos Transact-SQL kódot hajthatnak végre, vagy hibákat okozhatnak a séma vagy a fizikai adatbázis szerkezetének módosításával. Mielőtt ismeretlen vagy nem megbízható forrásból származó adatbázist használna, futtassa DBCC CHECKDB az adatbázison egy nem gyártási kiszolgálón, és vizsgálja meg a kódot, például a tárolt eljárásokat vagy más felhasználó által definiált kódot az adatbázisban.

Eljárás

Adatbázis áthelyezése leválasztással és csatolással

  1. Válassza le az adatbázist. További információkért lásd a Adatbázis leválasztása című részt.

  2. A Windows Intézőben vagy a Windows parancssori ablakban helyezze át a leválasztott adatbázisfájlt vagy -fájlokat, illetve naplófájlokat vagy fájlokat az új helyre.

    A naplófájlokat akkor is át kell helyeznie, ha új naplófájlokat szeretne létrehozni. Bizonyos esetekben az adatbázis újraaktiválásához szükség van a meglévő naplófájljaira. Ezért mindig tartsa meg az összes leválasztott naplófájlt, amíg az adatbázis nem lett sikeresen csatolva nélkülük.

    Jegyzet

    Ha a naplófájl megadása nélkül próbálja csatolni az adatbázist, a csatolási művelet megkeresi a naplófájlt az eredeti helyén. Ha a napló másolata továbbra is az eredeti helyen található, akkor a másolat csatolva lesz. Az eredeti naplófájl használatának elkerülése érdekében adja meg az új naplófájl elérési útját, vagy távolítsa el a naplófájl eredeti példányát (miután átmásolta az új helyre).

  3. Csatolja a másolt fájlokat. További információ: Adatbázis csatolása.

Példa

Az alábbi példa létrehozza az AdventureWorks2025 adatbázis másolatát.MyAdventureWorks A Transact-SQL utasítások végrehajtása egy lekérdezésszerkesztő ablakban történik, amely ahhoz a kiszolgálópéldányhoz csatlakozik, amelyhez csatolva van.

  1. Válassza le az AdventureWorks2025-adatbázist a következő Transact-SQL utasítások végrehajtásával:

    USE master;  
    GO  
    EXEC sp_detach_db @dbname = N'AdventureWorks2022';  
    GO  
    
  2. A választott módszerrel másolja az adatbázisfájlokat (AdventureWorks208R2_Data.mdf és AdventureWorks208R2_log) a következőre: C:\MySQLServer\AdventureWorks208R2_Data.mdf és C:\MySQLServer\AdventureWorks208R2_Log.ldf.

    Fontos

    Éles adatbázis esetén helyezze az adatbázist és a tranzakciónaplót külön lemezekre.

    Ha a hálózaton keresztül szeretne fájlokat másolni egy távoli számítógépen lévő lemezre, használja a távoli hely univerzális elnevezési konvenciójának (UNC) nevét. Az UNC-név \\Kiszolgálónév\Megosztásnév\Elérési út\Fájlnévalakját ölti. A fájlok helyi merevlemezre való írásához hasonlóan a távoli lemezen lévő fájl olvasásához vagy írásához szükséges engedélyeket meg kell adni az SQL Server példánya által használt felhasználói fióknak.

  3. Csatolja az áthelyezett adatbázist és a naplóját a következő Transact-SQL utasítások végrehajtásával:

    USE master;  
    GO  
    CREATE DATABASE MyAdventureWorks   
        ON (FILENAME = 'C:\MySQLServer\AdventureWorks2022_Data.mdf'),  
        (FILENAME = 'C:\MySQLServer\AdventureWorks2022_Log.ldf')  
        FOR ATTACH;  
    GO  
    

    Az SQL Server Management Studióban az újonnan csatolt adatbázis nem látható azonnal az Object Explorerben. Az adatbázis megtekintéséhez az Object Explorerben kattintson a Nézet,, majd Frissítésgombra. Amikor a Adatbázisok csomópont kibontva van az Object Explorerben, az újonnan csatolt adatbázis megjelenik az adatbázisok listájában.

Lásd még:

Adatbázis leválasztása és csatolása (SQL Server)