Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
A következőkre vonatkozik:SQL Server
Az SQL Serverben a felhasználói adatbázis adatainak, naplóinak és teljes szövegű katalógusfájljainak új helyre való áthelyezéséhez adja meg az új fájl helyét az FILENAME utasítás záradékában. Ez a módszer az adatbázisfájlok ugyanabban a példányban az SQL Serveren belüli áthelyezésére vonatkozik. Ha egy adatbázist az SQL Server egy másik példányára vagy egy másik kiszolgálóra szeretne áthelyezni, használja biztonsági mentést, majd állítsa vissza vagy leválasztsa és csatolja a műveleteket.
Jegyzet
Ez a cikk a felhasználói adatbázisfájlok áthelyezését ismerteti. A rendszeradatbázis-fájlok áthelyezésével kapcsolatban lásd: Rendszeradatbázisok áthelyezése.
Megfontolások
Ha egy adatbázist egy másik kiszolgálópéldányra helyez át, hogy konzisztens felhasználói élményt biztosítson a felhasználóknak és alkalmazásoknak, előfordulhat, hogy újra létre kell hoznia az adatbázis metaadatainak egy részét vagy egészét. További információ: Metaadatok kezelése, amikor egy adatbázist elérhetővé tesz egy másik kiszolgálón.
Az SQL Server adatbázismotor egyes funkciói megváltoztatják, hogy az adatbázismotor hogyan tárolja az adatokat az adatbázisfájlokban. Ezek a funkciók az SQL Server adott kiadásaira korlátozódnak. Az ezeket a funkciókat tartalmazó adatbázisok nem helyezhetők át az SQL Server olyan kiadásába, amely nem támogatja őket. A sys.dm_db_persisted_sku_features dinamikus felügyeleti nézettel listázhatja az aktuális adatbázisban engedélyezett kiadásspecifikus funkciókat.
A cikkben szereplő eljárásokhoz az adatbázisfájlok logikai neve szükséges. A név lekéréséhez kérje le a névoszlopot a sys.master_files katalógusnézetben.
A teljes szöveges katalógusok nem a fájlrendszerben, hanem az adatbázisba vannak integrálva. A teljes szöveges katalógusok automatikusan mozognak egy adatbázis áthelyezésekor.
Jegyzet
Győződjön meg arról, hogy a Windows-szolgáltatásfiókok és -engedélyek konfigurálása szolgáltatásfiók rendelkezik engedélyekkel a fájlrendszer új fájlhelyéhez. További információ: Fájlrendszer-engedélyek konfigurálása adatbázismotor-hozzáférési.
Tervezett áthelyezési eljárás
Ha egy tervezett áthelyezés részeként át szeretne helyezni egy adatot vagy naplófájlt, kövesse az alábbi lépéseket:
Minden áthelyezendő fájl esetében futtassa az alábbi utasítást.
ALTER DATABASE database_name MODIFY FILE (NAME = logical_name, FILENAME = 'new_path\os_file_name');Futtassa az alábbi utasítást az adatbázis offline állapotba helyezéséhez.
ALTER DATABASE database_name SET OFFLINE;Ez a művelet kizárólagos hozzáférést igényel az adatbázishoz. Ha egy másik kapcsolat meg van nyitva az adatbázis számára, a
ALTER DATABASEutasítás mindaddig le lesz tiltva, amíg az összes kapcsolat be nem záródik. A viselkedés felülbírálásához használja aWITH <termination>záradékot. Ha például automatikusan vissza szeretné állítani és leválasztani az adatbázis összes többi kapcsolatát, használja a következőt:ALTER DATABASE database_name SET OFFLINE WITH ROLLBACK IMMEDIATE;Helyezze át a fájlt vagy fájlokat az új helyre.
Futtassa a következő utasítást.
ALTER DATABASE database_name SET ONLINE;Ellenőrizze a fájlmódosítást az alábbi lekérdezés futtatásával.
SELECT name, physical_name AS CurrentLocation, state_desc FROM sys.master_files WHERE database_id = DB_ID(N'<database_name>');
Áthelyezés ütemezett lemezkarbantartáshoz
Ha egy fájlt ütemezett lemezkarbantartási folyamat részeként szeretne áthelyezni, kövesse az alábbi lépéseket:
Minden áthelyezendő fájl esetében futtassa az alábbi utasítást.
ALTER DATABASE database_name MODIFY FILE (NAME = logical_name, FILENAME = 'new_path\os_file_name');A karbantartás elvégzéséhez állítsa le az SQL Server-példányt, vagy állítsa le a rendszert. További információ: SQL Server-szolgáltatások indítása, leállítása, szüneteltetése, folytatása és újraindítása.
Helyezze át a fájlt vagy fájlokat az új helyre.
Indítsa újra az SQL Server vagy a kiszolgáló példányát. További információ: SQL Server-szolgáltatások indítása, leállítása, szüneteltetése, folytatása és újraindítása
Ellenőrizze a fájlmódosítást az alábbi lekérdezés futtatásával.
SELECT name, physical_name AS CurrentLocation, state_desc FROM sys.master_files WHERE database_id = DB_ID(N'<database_name>');
Hibahelyreállítási eljárás
Ha hardverhiba miatt át kell helyezni egy fájlt, az alábbi lépésekkel helyezze át a fájlt egy új helyre.
Fontos
Ha az adatbázis nem indítható el, vagyis gyanús módban vagy nem helyreállított állapotban van, csak a sysadmin rögzített szerepkör tagjai helyezhetik át a fájlt.
Állítsa le az SQL Server-példányt, ha már elindult.
Indítsa el az SQL Server-példányt
mastercsak helyreállítási módban az alábbi parancsok egyikének megadásával a parancssorban.Az alapértelmezett (MSSQLSERVER) példányhoz futtassa a következő parancsot.
NET START MSSQLSERVER /f /T3608Egy megnevezett példány esetén futtassa a következő parancsot.
NET START MSSQL$instancename /f /T3608További információ: SQL Server-szolgáltatások indítása, leállítása, szüneteltetése, folytatása és újraindítása. További információ a Linuxról: SQL Server-szolgáltatások indítása, leállítása és újraindítása Linux.
Az egyes fájlok áthelyezéséhez használja sqlcmd parancsokat vagy az SQL Server Management Studiót az alábbi utasítás futtatásához.
ALTER DATABASE database_name MODIFY FILE (NAME = logical_name, FILENAME = 'new_path\os_file_name');Az sqlcmd segédprogram használatáról további információt az sqlcmd – a segédprogramcímű cikkben talál.
Lépjen ki az sqlcmd segédprogramból vagy az SQL Server Management Studióból.
Állítsa le az SQL Server-példányt.
Helyezze át a fájlt vagy fájlokat az új helyre.
Indítsa el az SQL Server-példányt. Futtassa pl. a következőt:
NET START MSSQLSERVER.Ellenőrizze a fájlmódosítást az alábbi lekérdezés futtatásával.
SELECT name, physical_name AS CurrentLocation, state_desc FROM sys.master_files WHERE database_id = DB_ID(N'<database_name>');
Példák
Az alábbi példa egy tervezett áthelyezés részeként áthelyezi a AdventureWorks2025 naplófájlt egy új helyre.
Ellenőrizze, hogy a
masteradatbázis kontextusában van.USE master; GOAdja vissza a logikai fájl nevét.
SELECT name, physical_name AS CurrentLocation, state_desc FROM sys.master_files WHERE database_id = DB_ID(N'AdventureWorks2022') AND type_desc = N'LOG'; GOÁllítsa be az adatbázist offline állapotba.
ALTER DATABASE AdventureWorks2022 SET OFFLINE; GOFizikailag helyezze át a fájlt egy új helyre. Az alábbi utasításban módosítsa a
FILENAMEmegadott elérési utat a fájl új helyére a kiszolgálón.ALTER DATABASE AdventureWorks2022 MODIFY FILE (NAME = AdventureWorks2022_Log, FILENAME = 'C:\NewLoc\AdventureWorks2022_Log.ldf'); GO ALTER DATABASE AdventureWorks2022 SET ONLINE; GOEllenőrizze az új helyet.
SELECT name, physical_name AS CurrentLocation, state_desc FROM sys.master_files WHERE database_id = DB_ID(N'AdventureWorks2022') AND type_desc = N'LOG';
Kapcsolódó tartalom
- ADATBÁZIS MÓDOSÍTÁSA (Transact-SQL)
- ADATBÁZIS LÉTREHOZÁSA
- adatbázis leválasztása és csatolása (SQL Server)
- Rendszeradatbázisok áthelyezése
- Adatbázisfájlok áthelyezése
- BIZTONSÁGI MENTÉS (Transact-SQL)
- RESTORE utasítások (Transact-SQL)
- SQL Server-szolgáltatások indítása, leállítása, szüneteltetése, folytatása és újraindítása