Sign in to follow this  
redline

Datenbankwartung

Recommended Posts

Hallo Zusammen,

 

gibt es einen Weg, die IpPbx Datenbank zu warten/reorganisieren etc.?

 

Beim letzten Update kam es bei der Prüfung der Datenbank zu hunderten(?) von Warnungen (Auszug):

File 04ae6a34-eac9-4b7e-b428-999f79e343ff.dat, FaxAttachement61561_a87ef794-75bf-4e56-9a1a-74b7de4771ab failed with Objekt nicht gefunden.
File 8707c0a6-bc62-40fa-b0ea-6f26ece2bd8d.dat, FaxAttachement35312_5cc5f32b-b723-4c90-be02-44248ae0e1b6 failed with Objekt nicht gefunden.
File 17db58d9-2dd6-44a4-8e8b-d45f1e21153d.dat, FaxAttachement76821_93c04b92-3bb0-449b-84c2-a614a940cb02 failed with Objekt nicht gefunden.
File a7e1f0cd-18ab-47f1-946f-667fc18f2f7b.dat, FaxAttachement66661_ef8ad2ed-8f38-44f0-81d3-5508aabe6333 failed with Objekt nicht gefunden.
File cc4eca45-c435-4827-a3b6-de8575d6c162.dat, FaxAttachement75891_fb83c7bb-676f-4866-aaed-25d989b7cf35 failed with Objekt nicht gefunden.
File 3d3edc37-6c8b-4235-8922-7ad4a1aaff66.dat, FaxAttachement55389_9374f65d-3933-4744-b3c8-ed6b96b14a80 failed with Objekt nicht gefunden.

Ich würde daher gerne irgendwie die Datenbank pflegen und nicht mehr existente Verweise rauslöschen, sofern dies ratsam ist.

 

Viele Grüße

Share this post


Link to post
Share on other sites

Hallo,

 

was du machen könntest ist die Datenbank auf dem SQL Server nach stark Fragmentierten Indexen zu suchen und zu sortieren, um diese dann entweder zu reorganisieren oder zu rebuilden. Dafür gibt es ein allgmeines query, welches die Indexe aller Datenbank auf den Fragmentierungsstatus hin durchsuchen und prozentual nach grad der Fragmentation sortiert.

 

isKVjTi.png

 

Dafür verwende ich folgende Query die ich dafür mal gefunden habe:

 

SELECT dbschemas.[name] as 'Schema',
dbtables.[name] as 'Table',
dbindexes.[name] as 'Index',
indexstats.avg_fragmentation_in_percent,
indexstats.page_count
FROM sys.dm_db_index_physical_stats (DB_ID(), NULL, NULL, NULL, NULL) AS indexstats
INNER JOIN sys.tables dbtables on dbtables.[object_id] = indexstats.[object_id]
INNER JOIN sys.schemas dbschemas on dbtables.[schema_id] = dbschemas.[schema_id]
INNER JOIN sys.indexes AS dbindexes ON dbindexes.[object_id] = indexstats.[object_id]
AND indexstats.index_id = dbindexes.index_id
WHERE indexstats.database_id = DB_ID()
ORDER BY indexstats.avg_fragmentation_in_percent desc

Dieses auf der Datenbank ausführen. (Achtung! bitte vorher unbedingt ein Backup der Datenbank machen, bevor das Query ausgeführt wird. Das Query stammt nicht von mir und ich habe es bisher nur für 2015R3 getestet).

 

Dann anhand der prozentualen Fragmentation entweder ein Rebuild oder eine Reorganisation des Indexes anstoßen. Hierfür gibt es auch einen Best Practice von SQL Experten. Alles von 0-5% Fragmentierung keine Maßnahmen vornehmen, alles von 5%-30% Fragmentierung einen Index Reorg durchführen und bei alles über 30% sollte ein Index Rebuild durchgeführt werden.

 

Durch diese Maßnahmen werden nicht nur fehlerhafte Einträge aus den Indexen entfernt, sondern auch die Zeiten für Anfragen an die DB werden schneller verabeitet und es können mehrere hunderte MB bei der Größe der Datenbank eingespart werden (Backups).

 

 

Zudem würde ich die FaxFiles (am FaxServer verabeitete Faxe) monatlich mit dem entsprechenden Powershell Befehl und Script exportieren und ggf. in eine PDF Datei umwandel und diese dann entsprechend sichern. Bei uns werden alle eingehenden Faxe am Faxserver entweder als PDF-Datei an das Postfach versendet oder am Drucker ausgedrückt. Eine Kopie der Fax-Files behalte ich nur, damit Ich sehen kann, ob ein Fax beim Faxserver angekommen ist (falls mal ein Kunde anruft) und sauber verarbeitet wurde (z.B. kein Verbindungsabbruch etc.).   

 

 

MFG

Share this post


Link to post
Share on other sites

Das hört sich sehr vielversprechend an!

 

Vielen Dank für die ausführliche Beschreibung!!

 

EDIT: Kurze Nachfrage, hast du auch schon einen entsprechenden Befehl für den Reorg bzw. Rebuild?

Danke!

Edited by redline

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this