december 19, 2021

SQL Server DBA Diaries

az adatbázis-mentések végrehajtása a DBA egyik leggyakrabban végrehajtott feladata. Legtöbbször a karbantartási ablak, amelyet a DBA csapata az adatbázis-karbantartási tevékenységek elvégzésére kap, általában kevesebb. Gyakran előfordul, hogy nem, az adatbázis-karbantartási feladatok túlmutatnak az előírt ablakon, és az alkalmazás csapata panaszkodni kezd.

még a környezetünkben is, általában az alkalmazás csapata visszatér a kijelentéshez: “kritikus munkáink a következő néhány percben kezdődnek. Látjuk, hogy egy adatbázis-biztonsági mentési folyamat a legtöbb erőforrást kihasználja. Mivel hatással lehet a munkánkra, megölné, kérem?”

számukra ez a biztonsági mentési feladat, amely mindennap fut. De csak a DBA tudja, mennyire értékes az adatbázis biztonsági mentése. Nem emlékszem, hogy hányszor, hogy az extra Mentés segített ki a nehéz helyzetekben, vagy adott nekem a bizalmat, hogy menjen előre néhány kockázatos javaslat.

amikor valaki megkérdezi, hogy mennyi ideig fog futni a biztonsági mentési feladat, vagy mennyi munkát végzett már, a legjobb megoldás az SQL Server 2000-ben az volt, hogy ellenőrizze a stats paraméter által megadott kimenetet a biztonsági mentési parancsfájlban. De ha valaki elfelejtette belefoglalni a stats paramétert a biztonsági mentési parancsfájlba, akkor az SQL Server 2000-ben nem lehet ellenőrizni a biztonsági mentés befejezésének állapotát.

de az SQL Server 2005 indításakor ez a viselkedés megváltozott. Az SQL Server 2005 számos csodálatos DMV-jének egyike a sys.dm_exec_requests. ezzel a DMV-vel az állapot, a kitöltött százalék stb. a biztonsági mentési folyamat (ami azt illeti, minden SQL parancs) könnyen nyomon követhető. Itt van a forgatókönyv, amely pontosan ugyanezt teszi.

SELECT A.NAME,B.TOTAL_ELAPSED_TIME/60000 AS ,B.ESTIMATED_COMPLETION_TIME/60000 AS ,B.PERCENT_COMPLETE as ,(SELECT TEXT FROM sys.dm_exec_sql_text(B.SQL_HANDLE))AS COMMAND FROM MASTER..SYSDATABASES A, sys.dm_exec_requests BWHERE A.DBID=B.DATABASE_ID AND B.COMMAND LIKE '%BACKUP%' order by percent_complete desc,B.TOTAL_ELAPSED_TIME/60000 desc

tudom, hogy a legtöbben már nagyon régóta használjuk a szkript egy vagy másik verzióját. Mivel ez a szkript nemrég segített David Rummelnek egy nagy adatbázis biztonsági mentésének nyomon követésében,úgy gondolta, hogy ez segíthet valaki másnak valahol.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.