articles

by all SQLschool.gr authors

Restore survivor - Restore chain explanation and restore script generation

by Antonios Chatzipavlis - 03 Sep 2021

Μια από τις γνωστότερες παροιμίες που έχουμε, λέει "των φρονίμων τα παιδιά πριν πεινάσουν μαγειρεύουν". Η ερμηνεία της παροιμίας αυτή είναι ξεκάθαρη, και αφορά το ότι πρέπει να προετοιμαζόμαστε νωρίτερα για αυτά που θα έρθουν. Ταιριάζει απόλυτα με αυτό που πρέπει ένας DBA να κάνει.


The GOTO statement in SQL Server

by Antonios Chatzipavlis - 27 Aug 2021

Το να γράψω το συγκεκριμένο άρθρο ήταν μια προσωπική πρόκληση. Είμαι σίγουρος ότι θα υπάρξουν αντιδράσεις μιας και το GOTO statement έχει εξοβελιστεί στο πυρ το εξώτερον. Όμως δεν έχω καμία διάθεση ή πρόθεση να μπω σε αυτές.


sp_indexdetails – Get index details and internals

by Antonios Chatzipavlis - 19 Aug 2021

Από τα θέματα που είναι σημαντικά και φυσικά έχουν απασχολήσει και θα συνεχίσουν να πράττουν αυτό είναι οι indexes και τα statistics αυτών. Αρκετός είναι επίσης και ο χρόνος που δαπανάμε για κάνουμε monitoring και optimizing αυτούς χρησιμοποιώντας τα εργαλεία όπως τα DMVs/DMFs.


Explain Ghost Records in SQL Server

by Antonios Chatzipavlis - 10 Aug 2021

Κάθε φορά που εκτελούνται delete operations τα rows δεν διαγράφονται άμεσα αλλά χαρακτηρίζονται σαν rows προς διαγραφή και η ονομασία που έχει δοθεί σε αυτά είναι ghost(ed) records και σε αυτό το άρθρο θα δούμε τα internals τους.


How SQL Server find free pages - The importance of Page Free Page(s) (PFS)

by Antonios Chatzipavlis - 30 Jul 2021

Συνεχίζουμε την εξερεύνηση μας στα SQL Server internals και στο άρθρο αυτό θα αναλύσουμε την Page Free Space (PFS), την χρήση της και την σημασία της σε κάθε data file που υπάρχει στην εκάστοτε database.


SQL Server Allocation Units

by Antonios Chatzipavlis - 20 Jul 2021

Συνεχίζοντας την "κατάδυση" μας στα SQL Server internals σε αυτό το άρθρο θα ασχοληθούμε με τα Allocation Units τα οποία μπορούμε να δούμε με την χρήση της DMV sys.allocation_units.


In which pages (data or index) are my table data stored?

by Antonios Chatzipavlis - 10 Jul 2021

Η γνώση των internals στο SQL Server όπως πολλές φορές έχω αναφέρει είναι σημαντική γιατί έτσι μπορείς να σχεδιάσεις καλύτερα το database schema, να γράψεις καλύτερα queries ή διαδικασίες και φυσικά να μπορείς να κάνεις καλύτερο troubleshooting. Σε αυτό το άρθρο θα κατέβουμε για τα καλά το πάτο του βαρελιού καθώς θα κατανοήσουμε το πως ο SQL Server αντιμετωπίζει αυτά που του ζητάμε.


Common Alerts that each SQL Server instance must have

by Antonios Chatzipavlis - 28 Jun 2021

Η καθημερινότητα κρύβει εκπλήξεις που θα εμφανιστούν αργότερα και τότε ίσως τα πράγματα να είναι χειρότερα από την στιγμή που η έκπληξη εμφανίστηκε για πρώτη φορά. Για αυτό κάθε DBA που μισεί τις δυσάρεστες εκπλήξεις και ιδιαίτερα αυτές που έρχονται από το παρελθόν πρέπει να κάνει με κάποιο τρόπο τον SQL Server να του μιλάει.


When Min and Max Memory have the same value things are getting worse

by Antonios Chatzipavlis - 20 Jun 2021

Το memory management αλλά και οι ρυθμίσεις για αυτό είναι από το περισσότερο σχολιασμένο θέμα στο SQL Server. Παρόλα αυτά όμως συνεχίζω να βλέπω στους διάφορους SQL Server που επισκέπτομαι ρυθμίσεις που κάνουν τα πράγματα χειρότερα από το να έχει αφήσει κάποιος τα defaults (που και αυτό δεν είναι σωστό).


Failed to generate a checkpoint in a database

by Antonios Chatzipavlis - 13 Jun 2021

Πρόσφατα κλήθηκα να διορθώσω μια corrupted database με αρκετά μεγάλο αριθμό corrupted pages. Η διαδικασία επιδιόρθωσης ήταν επίπονη και πήρε αρκετές ημέρες αλλά τελικά ολοκληρώθηκε. Με την ολοκλήρωση της διαδικασίας ζήτησα να γίνει full backup καθώς τα ήδη υπάρχοντα backups ήταν και αυτά corrupted καθώς περιείχαν τις corrupted pages. Κατά την διάρκεια του full backup όμως εμφανίστηκε ένα νέο μήνυμα λάθους που έλεγε το εξής...


What is the Lock Page in Memory, When and How I enable it

by Antonios Chatzipavlis - 16 May 2021

Lock Pages in Memory (LPIM) είναι η δυνατότητα που δίνεται απο τα Windows και η οποία αποτρέπει το paging της virtual memory στο δίσκο. Αυτό το επιτυχάνει καθώς "κλειδωνει" τα δεδομένα αυτά στην φυσική μνήμη και όταν υπάρχει το φαινόμενο που ονομάζουμε memory pressure αυτά δεν γίνονται paging στο δίσκο.


GREATEST() and LEAST() functions in Azure SQL Database

by Antonios Chatzipavlis - 16 Mar 2021

Μια απαίτηση αρκετών χρόνων υλοποιήθηκε μερικώς στον SQL Server καθώς αυτή την στιγμή είναι μόνο διαθέσιμη στις Azure SQL Databases και αφορά δύο T-SQL functions που υπάρχουν σε άλλα RDBMS εδώ και χρόνια.


Investigating the Cost Threshold for Parallelism value

by Antonios Chatzipavlis - 11 Mar 2021

Στο SQL Server υπάρχουν αρκετά configuration settings, ένα από αυτά είναι το Cost Threshold for Parallelism που χρειάζεται να δώσουμε προσοχή.


The WITH SCHEMABINDING option: What you are missing by not using it

by Antonios Chatzipavlis - 18 Feb 2021

Το WITH SCHEMABINDING είναι διαθέσιμο από το SQL Server 2000 αλλά η χρήση του είναι ελάχιστη με αποτέλεσμα να υπάρχουν business continuity issues αλλά και να μην εκμεταλλεύονται τα performance gains που προσφέρει σε κάποιες περιπτώσεις.


Getting client computer information from SQL Server

by Antonios Chatzipavlis - 05 Feb 2021

Όσοι γράφουμε κώδικα έχουμε σαν σκοπό να καλύπτουμε τις επιχειρηματικές ανάγκες που υπάρχουν. Αρκετές φορές σε αυτές υπάρχουν απαιτήσεις που σχετίζονται με τον client που συνδέεται στο SQL Server instance.


EXECUTE (EXEC) vs. sp_executesql

by Antonios Chatzipavlis - 02 Feb 2021

Παρατηρώ ότι αρκετοί προβληματίζονται ή έχουν μπερδευτεί για το πότε πρέπει να χρησιμοποιούν την EXECUTE (περισσότερο γνωστή με την σύντμηση της EXEC) ή την sp_executesql. Λοιπόν για να βάλουμε τα πράγματα σε σειρά.


Move object(s) to another schema

by Antonios Chatzipavlis - 28 Jan 2021

Από τον SQL Server 2005 έχουμε την ξεκάθαρη δυνατότητα χρήσης των schemas. Αν μετά από την δημιουργία του object επιθυμεί κάποιος να μεταφέρει αυτό σε άλλο schema, στο post αυτό θα διαβάζει το πως μπορεί να το κάνει.


Dynamic Data Masking

by Kyriakos Petsalaris - 19 Jan 2021

Tο Dynamic Data masking (DDM) είναι μια αναδυόμενη τεχνολογία που στοχεύει στην κάλυψη δεδομένων σε πραγματικό χρόνο (on the fly) των δεδομένων παραγωγής και αλλάζει τη ροή δεδομένων έτσι ώστε ο αιτών(Non-Privileged User) να μην έχει πρόσβαση στα ευαίσθητα δεδομένα, ενώ δεν πραγματοποιούνται φυσικές αλλαγές στα πραγματικά δεδομένα μιας παραγωγικής βάσης.


YEAR

CATEGORIES

TAGS

Next Event

NO EVENTS THIS TIME



Newsletter

If you want to receive updates from us subscribe below with your email.
Follow us in
sql school greece logo
© 2010-2021 All rights reserved

This site uses cookies for operational and analytics purposes only. By continuing to browse this site, you agree to their use.