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 2025 (17.x) Linux rendszeren
Ez a cikk bemutatja, hogy engedélyezheti és futtathatja tempdb az adatbázisfájlokat az SQL Server 2025 tmpfs fájlrendszerén (17.x).
A Linuxon és tárolókon futó SQL Server hagyományosan támogatja az XFS - és ext4-fájlrendszereket az SQL Server-adatbázisfájlok és -naplók üzembe helyezéséhez. Az olyan ideiglenes adatbázisok esetében azonban, amelyekhez tempdbnem szükséges adatokat menteni az egyik üzemidőből a másikba, a memóriát használó tmpfs fájlrendszer (RAM) használata növelheti a -alapú számítási feladatok általános teljesítményét tempdb.
További információ a tmpfs fájlrendszerről: tmpfs – A Linux Kernel dokumentációja.
| Konfiguráció | Leírás |
|---|---|
| Támogatott konfiguráció | A tmpfs ideális olyan nem állandó adatok tárolására, amelyeket nem kell az újraindítások között menteni. Jelenleg csak az tempdb adatbázisfájlok támogatottak a tmpfs fájlrendszerben, legyen szó akár konténer alapú, akár nem konténer alapú üzemelő példányokról. |
| Nem támogatott konfiguráció | A tmpfs fájlrendszer használható az SQL-tárolótelepítésekben lévő felhasználói adatbázisokhoz, de csak fejlesztési célokra. Ez a konfiguráció azonban nem támogatott. Ehhez a forgatókönyvhöz a GitHubon adhat visszajelzést. |
Fizikai vagy virtuális gépek üzembe helyezése
Ahhoz, hogy engedélyezze a tmpfs támogatását a Linuxon futó SQL Server számára fizikai vagy virtuális gépeken, megfelelően kell csatolnia a tmpfs fájlrendszert, amelyhez sudo-hozzáférés szükséges. Miután beállította a csatlakoztatási pontokat, elhelyezheti a fájlokat ezeken a tempdb csatlakoztatásokon, és elindíthatja az SQL Servert a tempdb fájlrendszerre csatlakoztatott fájlokkal.
Tmpfs engedélyezése a következőhöz: tempdb
Hozza létre a
tempdbkönyvtárat.mkdirA paranccsal hozzon létre egy könyvtárat aztempdbadatbázishoz. Győződjön meg róla, hogy azmssqla felhasználó és a csoport tulajdonában van a SQL Server hozzáféréséhez.mkdir /var/opt/mssql/tempdb sudo chown mssql. /var/opt/mssql/tempdbTmpfs fájlrendszer csatlakoztatása.
A tmpfs fájlrendszer csatlakoztatásához használja a következő parancsot:
sudo mount -t tmpfs -o size=4G tmpfs /var/opt/mssql/tempdb/A
-tbeállítás megadja a fájlrendszer típusát, amely ebben az esetben atmpfskövetkező.Ezzel az
-oopcióval megadhatja a csatolási beállításokat.size=4GItt a tmpfs maximális méretét 4 GB-ra állítja, ami azt jelenti, hogy akár 4 GB RAM-ot is használhat.Ez a parancs csatlakoztatja a tmpf-eket az SQL Server-adatbázis
tempdbáltal használt célkönyvtárhoz.Opcióként adja hozzá a
fstab-hez, hogy a csatolások megmaradjanak az újraindítások során.echo "tmpfs /var/opt/mssql/tempdb tmpfs defaults,size=4G 0 0" | sudo tee -a /etc/fstabFrissítse a
tempdbfájl helyét.Győződjön meg arról, hogy az SQL Server működik. Csatlakozzon az SQL Server-példányhoz az SQL Server Management Studio (SSMS) használatával, és futtassa a következő T-SQL-parancsokat.
Azonosítsa az összes fájlt a
tempdbkövetkező T-SQL-szkripttel, majd futtassa aALTER DATABASEparancsot a fájl helyénektempdbfrissítéséhez:SELECT [name], physical_name FROM sys.master_files WHERE database_id = 2;A
tempdbfájlok számának alapján hozza létre aALTER DATABASEparancsokat az alábbiak szerint:ALTER DATABASE tempdb MODIFY FILE (NAME = tempdev, FILENAME = '/var/opt/mssql/tempdb/tempdb.mdf'); ALTER DATABASE tempdb MODIFY FILE (NAME = tempdev2, FILENAME = '/var/opt/mssql/tempdb/tempdb2.mdf'); ALTER DATABASE tempdb MODIFY FILE (NAME = tempdev3, FILENAME = '/var/opt/mssql/tempdb/tempdb3.mdf'); ALTER DATABASE tempdb MODIFY FILE (NAME = tempdev4, FILENAME = '/var/opt/mssql/tempdb/tempdb4.mdf'); ALTER DATABASE tempdb MODIFY FILE (NAME = templog, FILENAME = '/var/opt/mssql/tempdb/templog.ldf');Indítsa újra az SQL Servert a módosítások alkalmazásához.
sudo systemctl restart mssql-serverEllenőrizze a
tempdbfájlok helyét.Miután az SQL Server működik, ellenőrizze, hogy az
tempdbadatok és a naplófájlok most már az új könyvtárban találhatók-e. Ehhez kapcsolódjon az SQL Serverhez egy olyan eszközzel, mint az SQL Server Management Studio (SSMS).SELECT [name], physical_name FROM sys.master_files WHERE database_id = 2;
Ekkor megjelenik az tempdb összes adatbázisfájl az új csatlakoztatási útvonalon./var/opt/mssql/tempdb
A tmpfs csatlakoztatás forró átméretezése
A tmpfs csatlakoztatását átméretezheti akkor is, ha a tempdb tele van. A gyors átméretezéshez futtassa a következő parancsot, hogy a tmpfs csatolást 6 GB-ra átméretezze:
mount -o remount,size=6G /var/opt/mssql/tempdb
Ha szeretné, az új méret továbbra is megmaradjon az újraindítások során a fstab bejegyzés módosításával:
sudo sed -i 's|tmpfs /var/opt/mssql/tempdb tmpfs defaults,size=4G 0 0|tmpfs /var/opt/mssql/tempdb tmpfs defaults,size=6G 0 0|' /etc/fstab
Konténertelepítések
Fejlesztői számítási feladatok esetén a tmpf-eket felhasználói adatbázisokhoz is használhatja. A tmpfs fájlrendszerek jelentősen felgyorsíthatják a tárolókban üzembe helyezett felhasználói adatbázisok tesztelési eseteit. Mivel a tmpfs lemeztároló helyett RAM-ot használ, gyors olvasási/írási műveleteket tesz lehetővé. Ez a konfiguráció olyan fejlesztési és tesztelési környezetekben hasznos, ahol gyors iterációkra van szükség.
Azonban, a felhasználói adatbázisok tmpfs-e nem támogatott. A GitHubon a tmpf-eken található felhasználói adatbázisokkal kapcsolatos visszajelzéseket küldhet.
Csak tempdb adatbázisokat tároljon a tmpfs fájlrendszeren.
Ha SQL Server-tárolót helyez üzembe, és meg szeretné győződni arról, hogy a tároló tmpfs-eket használ a tempdbtárolóhoz, futtassa a következő parancsot:
docker run \
-e ACCEPT_EULA=Y \
-e MSSQL_SA_PASSWORD = <password>\
--tmpfs /var/opt/mssql/tempdb:uid=10001,gid=10001,size=4G \
-p 5433:1433 \
--name sql1 \
-h sql1 \
--d mcr.microsoft.com/mssql/server:2025-latest
A --tmpfs parancs a méretet 4 GB-ra, a uid (felhasználói azonosítót) és gid a (csoportazonosítót) 10001 pedig úgy állítja be, hogy a szükséges engedélyek megfelelően legyenek beállítva a tempdb létrehozandó fájlokhoz.
A tároló üzembe helyezése után csatlakozzon az SQL Serverhez az SSMS használatával, és helyezze át a tempdb fájlokat az új helyre /var/opt/mssql/tempdb a következő T-SQL-parancsokkal:
SELECT [name],
physical_name
FROM sys.master_files
WHERE database_id = 2;
A megjelenő fájlok száma alapján módosítsa a következő parancsot. Ebben a példában négy tempdb fájl és egy naplófájl található. A következő parancsokkal helyezze át ezeket a fájlokat az új helyre:
ALTER DATABASE tempdb
MODIFY FILE (NAME = tempdev, FILENAME = '/var/opt/mssql/tempdb/tempdb.mdf');
GO
ALTER DATABASE tempdb
MODIFY FILE (NAME = tempdev2, FILENAME = '/var/opt/mssql/tempdb/tempdb2.mdf');
GO
ALTER DATABASE tempdb
MODIFY FILE (NAME = tempdev3, FILENAME = '/var/opt/mssql/tempdb/tempdb3.mdf');
GO
ALTER DATABASE tempdb
MODIFY FILE (NAME = tempdev4, FILENAME = '/var/opt/mssql/tempdb/tempdb4.mdf');
GO
ALTER DATABASE tempdb
MODIFY FILE (NAME = templog, FILENAME = '/var/opt/mssql/tempdb/templog.ldf');
GO
A fájlok áthelyezése után állítsa le és indítsa újra a tárolót az alábbi parancsokkal
docker stop sql1
docker start sql1
Konténerek telepítése az összes adattal és naplófájllal a tmpfsen
Figyelmeztetés
Ez a konfiguráció nem támogatott, de fejlesztési célokra használható. Ehhez a forgatókönyvhöz a GitHubon adhat visszajelzést.
docker run -e ACCEPT_EULA=Y \
-e MSSQL_SA_PASSWORD=<password> \
--tmpfs /var/opt/mssql/data:uid=10001,gid=10001,size=4G \
-p 5434:1433 \
--name sql2 \
-h sql2 \
-d mcr.microsoft.com/mssql/server:2025-latest