05 Oct 2018
Smart backups in SQL Server 2017
Σε αυτό το επεισόδιο SQL Server in Greek θα θούμε την δυνατότητα που έχουμε για να υλοποιήσουμε έξυπνα backups στον SQL Server 2017 και μετά.
03 Aug 2018
Rebuild / Recreate Transaction log
Θα ξεκινήσω τα άρθρο μου αυτό τονίζοντας ότι όλα όσα θα αναφερθούν παρακάτω αφορούν εξαιρετικά δύσκολες περιπτώσεις και αποτελούν την τελευταία σανίδα σωτηρίας. Επίσης καλό είναι να έχει γίνει και μια σχετική "προπόνηση" σε περιβάλλον δοκιμών ώστε να είστε σίγουροι για το τι ακριβώς κάνετε και να μην σας λούζει κρύος ιδρώτας.
20 Jan 2018
What is Log Block and Log Record
Σε προηγούμενο άρθρο μου στο οποίο έγραφα για το τι είναι το Log Sequence Number (LSN) αναφέρθηκα σε δύο στοιχεία του transaction log. Τα στοιχεία αυτά ήταν το Log Block και το Log Record.
04 Jan 2018
About LSNs in SQL Server
Πολλά πράγματα μέσα στον SQL Server γίνονται με βάση το LSN (Log Sequence Number). Αρκετές πάλι είναι οι ερωτήσεις που δέχομαι για αυτό και κυρίως αφορούν πως αυτό μεταφράζεται. Μέσα από αυτό το άρθρο θα προσπαθήσω να το εξηγήσω όσο καλύτερα και ευκολότερα γίνεται.
20 Sep 2017
Backup to URL for Large Databases
Εδώ και χρόνια ( από τον SQL Server 2012 SP1 CU2) υπάρχει η δυνατότητα για SQL Server backups σε Azure Blob storage με το γνωστό (υποθέτω σε όλους μας) backup to URL. Αρκετοί το έχουν υλοποιήσει, μεταξύ αυτών και ένας πελάτης μου αλλά κάποια στιγμή άρχισε να μην δουλεύει. Σε αυτό το άρθρο σας δείχνω το γιατί και πως λύνεται το πρόβλημα.
19 Jun 2017
Backup Concurrency in the same database
Οι ερωτήσεις σχετικά με τα backups στο SQL Server είναι πάντα από αυτές που δέχομαι συχνά. Μια από αυτές τις ερωτήσεις είναι τι γίνεται στις περιπτώσεις που ταυτόχρονα συμπίπτουν δύο διαδικασίες backup είτε του ίδιου τύπου είτε διαφορετικού.
06 Aug 2016
Databases Restore History Report
Ένας DBA καθημερινά έχει πολλά πράγματα να κάνει και πολλές ερωτήσεις να απαντήσει. Πολλές φορές αυτό που θέλει να κάνει ή να απαντήσει δεν γίνεται με το πάτημα ενός κουμπιού.
Μια ερώτηση που μου τέθηκε χθες ήταν να δω το πότε έχει γίνει restore μια database σε ένα instance.
Η απάντηση εύκολα βγαίνει από το restorehistory table που υπάρχει στην msdb database αλλά πάντα θέλεις να έχεις περισσότερες πληροφορίες που αυτός δεν περιέχει.
23 Jan 2016
In-sync databases backups and restores
Για τους περισσότερους ένα application έχει μια database. Αυτό απολοποιεί σε μεγάλο βαθμό κάποια πράγματα και ένα από αυτά είναι και το backup της database. Ακόμα και σε αυτή την περίπτωση όμως πρέπει να ληφθούν σοβαρά όλες οι παράμετροι όπως το RPO και το RTO.
Τα πράγματα όμως παίρνουν μια άγρια ομορφιά όταν πίσω από την εφαρμογή σου υπάρχουν περισσότερες από μια databases. Σενάρια για μια τέτοια κατάσταση υπάρχουν αρκετά όπως για παράδειγμα να έχεις μια OLTP database που ενημερώνει μια MIS database ή να έχεις δύο OLTP databases που ενημερώνονται παράλληλα κατά την διάρκεια των transactions που υλοποιούνται από το application.
26 Jul 2015
Running SQL Server Agent job on AlwaysOn Availability Groups
Όσοι έχουν στο περιβάλλον τους έστω και ένα AlwaysOn Availability Group σίγουρα θα έχουν αναρωτηθεί πως να εκτελούν τις διάφορες εργασίες που θέλουν πάνω σε μια database που είναι σε Availability Group.
Υπάρχουν αρκετοί τρόποι, από τον απλούστερο μέχρι τον ποιό advanced και φυσικά αυτό που προτείνω για αυτό το θέμα.
12 May 2014
Mirror Backups, a feature that most of us ignore
Σήμερα θα σας απασχολήσω με ένα θέμα το οποίο αφορά το backup. Aν και είναι Enterprise edition feature διαπίστωσα ότι ακόμα και αυτοί που διαθέτουν την συγκεκριμένη έκδοση αγνοούν αυτό, τουλάχιστον η πλειοψηφία.
Αυτό δεν είναι άλλο από την δυνατότητα να έχω MIRROR Backup στα backups τα οποία εκτελώ στον SQL Server.
28 Oct 2013
Taking database backups from SQL Server 2014 to Windows Azure Storage (Part I)
Σαν DBA πρέπει να έχω μια σωστή πολιτική backup που να ταιριάζει με τις εκάστοτε ανάγκες της database. Πέρα όμως από αυτή την πολιτική πρέπει να φροντίζω να φυλάσσω τα backup αυτά σε χώρους εκτός κτηρίου / περιοχής για τον φόβο των Ιουδαίων.
Από το CU2 του SQL Server 2012 μας δόθηκε η δυνατότητα να μπορούμε να εκτελούμε backups απευθείας σε azure storage. Πλέον αυτή η δυνατότητα στον SQL Server 2014 (CTP2) έχει μεγαλώσει και δίνει περισσότερες δυνατότητες.
31 Jan 2013
Backup (and Restore) database to (from) the cloud?
Αν πριν μερικά χρόνια κάποιος ήθελε να παίρνει backup την βάση του σε share network drive ίσως να τον λέγατε παρανοϊκό αλλά παρόλα αυτά μπορούσε εύκολα να γίνει. Αν όμως κάποιος σας έλεγε ότι ήθελε κάτι αντίστοιχο να γίνει σε κάποιο άλλο share αλλά σε άλλον γεωγραφικό τόπο εκεί τα πράγματα να γίνονταν λίγο δυσκολότερα. Αν τώρα κάποιος σας έλεγε ότι μπορεί πλέον να έχει παίρνεις backup αλλά και να κάνει restore στο cloud;
13 Jan 2013
AlwaysOn Availability Groups Vs Database Mirroring
Ποιο θεωρείς ότι είναι το μεγαλύτερο ατού των AlwaysOn Availability Groups; Για μένα ήταν οι πολλαπλές replicas και το ότι μπορείς να τρέχεις OLTP jobs στην primary και reporting στις secondaries. Μετά όμως άρχισα να καταλαβαίνω ότι αυτό μπορούσες να το υλοποιήσεις και πριν τον 2012 με το database mirroring και manual configuration του backup ή reporting στους secondaries. Άρα; Υπάρχει κάποιο αυτόματο brokering ή απλά γλυτώνει ο administrator άπειρο χρόνο σε ρυθμίσεις και στο να είναι σίγουρος ότι αυτό που έστησε δουλεύει;
05 Dec 2012
Answer to Recovery question
Μια ερώτηση μου ήρθε πριν από λίγο στο mailbox μου σχετικά με backup / restore. Νομίζω ότι είναι κάτι το οποίο θα πρέπει να αναφερθεί γιατί έχω την υποψία ότι αρκετοί δεν το γνωρίζουν.
11 Mar 2012
Indirect Checkpoints in SQL Server 2012
Μέσα στα τόσα νέα features που υπάρχουν στον SQL Server 2012 κάποια είναι δημοφιλέστερα από κάποια άλλα. Κάποια τραβάνε εύκολα την προσοχή γιατί πουλάνε περισσότερο κάποια άλλα όχι. Για τα πρώτα θα βρείτε αρκετά άρθρα στον ιστό. Για τα δεύτερα, αυτά που δεν φαίνονται με γυμνό μάτι θα βρείτε λίγα ή καθόλου. Αυτά τα δεύτερα όμως είναι αυτά που κάνουν την ουσιαστική διαφορά και είναι η πεμπτουσία, πάντα κατά την ταπεινή μου γνώμη, στον SQL Server.
01 Feb 2012
How to use specific values in parameters of fn_dblog function
Μια από τις αγαπημένες functions που την χρησιμοποιώ αρκετά συχνά ιδιαίτερα σε περιπτώσεις που υπάρχει κάποιο πρόβλημα με συγκεκριμένη βάση είναι η fn_dblog. Παρόλο που είναι μια undocumented function εντούτοις είναι ευρέως γνωστή και φυσικά χρησιμοποιούμενη σε όσους σοβαρά ασχολούνται με τον SQL Server.
14 Nov 2011
SQL Server 2012 - Backup Timeline feature
Όσοι ασχολούμαστε καθημερινά με τον SQL Server και το πρώτο πράγμα που κάνουμε το πρωί πριν ακόμα πιούμε την πρώτη τζούρα καφές είναι σχεδόν σίγουρο ότι όταν θα χρειαστεί να κάνουμε κάποιο restore σε μια database γνωρίζουμε εξ αρχής σε ποιο χρονικό σημείο θα γυρίσουμε. Παρόλα αυτά όμως κάνουμε επιβεβαίωση χρησιμοποιώντας διάφορες τεχνικές κυρίως με T-SQL commands.
12 May 2011
Tip of the Day#2: What CHECKPOINT operation does?
Η διαδικασία αυτή όταν γίνεται μεταφέρει τις χαρακτηρισμένες ως dirty pages από την μνήμη (buffer cache) στο δίσκο (data file(s)) και αλλάζει στο header τους το status από dirty σε clean.
11 May 2011
Tip of the Day: What is a Dirty Page?
Όταν μια σελίδα διαβάζεται από τον δίσκο και μπαίνει στην buffer cache θεωρείται ότι είναι μια Clean Page. Όταν όμως κάνω ένα transaction το οποίο την επηρεάζει (πάντα στην μνήμη) αυτή είναι μια Dirty Page (μπαίνει ένα mark στον header της) καθώς η εικόνα στην μνήμη είναι διαφορετική από αυτή στο δίσκο. Για να δω πόσες dirty pages έχω ανά βάση αρκεί να εκτελέσω το παρακάτω query ...
05 May 2011
Κάθε πότε γίνεται η διαδικασία CHECKPOINT? (UPDATED)
Όπως είναι γνωρίζουμε στον SQL Server υπάρχει μια διαδικασία η οποία σκοπό έχει να μεταφέρει από την Buffer Cache τις αλλαγμένες σελίδες στο δίσκο, γίνεται σε όλες τις βάσεις εκτός από την tempdb (αν και αυτό δεν είναι και τόσο αλήθεια αλλά δεν θα το αναλύσουμε εδώ). Σκοπός του είναι να είναι όσο το δυνατό πιο ενημερωμένα τα data files με τις αλλαγές είναι γραμμένες στο log.
03 Nov 2010
Μεγάλο Transaction Log; Έλα να το μειώσουμε μέσω τηλεφώνου
Αν και το θέμα το έχουμε ξανασυζητήσει και αναλύσει στο παρελθόν εντούτοις πάντα είναι επίκαιρο και πάντα έχει παραλλαγές. Σήμερα ήρθα αντιμέτωπος με μία τέτοια παραλλαγή. Φίλος και συνεργάτης την ώρα που ήμουν στο δρόμο για το γραφείο ( 7:00 πμ ) με παίρνει στον τηλέφωνο και μου λέει ...
01 Sep 2010
Is it possible to run out of Log Sequence Numbers?
Πριν από λίγο καιρό στο SQL Server Magazine διάβασα το παρακάτω το οποίο είναι αρκετά ενδιαφέρον μιας και την απάντηση την έχει δώσει ένας άνθρωπος που τον έχει φτίαξει ο Paul Randal, απολαύστε το ...
29 Jun 2010
Θέλω να ξενοιάσω με το backup των βάσεων σε έναν Server
Θέλετε να ξενoιάσετε μια και καλή με το backup των βάσεων σας σε έναν SQL Server στον οποίο έχετε δώσει δικαιώματα σε developers ή χρήστες να φτιάχνουν databases με αποτέλεσμα να υπάρχουν βάσεις που δεν τις παίρνετε άμεσα χαμπάρι και όταν γίνει η ζημιά να έχετε την γκρίνια τους ότι έχασαν την βάση τους;
24 Jan 2010
Why TRUNCATE_LOG discontinued (Answer to Mr. Kladakis)
Στο 18ο event μας που είχα την ομιλία μου η συζήτηση μας έφερε να μιλήσουμε για το ότι ευτυχώς πλέον δεν υποστηρίζεται η χρήση της BACKUP LOG WITH TRUNCATE_ONLY. Ο φίλος μου, συναγωνιστής μου, Αθανάσιος Κλαδάκης είχε την εύλογη απορία γιατί έγινε αυτό. Είπαμε κάποια πράγματα αλλά επειδή ο χρόνος ήταν περιορισμένος διότι περίμεναν οι μπύρες και η πίτα-πίτσα δεν έμεινα ικανοποιημένος με την απάντηση που έδωσα. Έτσι επανέρχομαι στο θέμα.
11 Dec 2009
SQL Server Database Mirroring Best Practices
Επειδή στο προηγούμενο μου post σχετικά με το Database Mirroring στον SQL Server ξέχασα να βάλω κάποια Best Practices που έχω διαβάσει σε διάφορα paper, blogs και βιβλία βάζω τα παρακάτω που προτείνει και ο Brad McGehee μιας και με βρήσκουν 100% σύμφωνο.
07 Dec 2009
Implement Database Mirroring in SQL Server 2008
Ένα από τα πράγματα τα οποία προσωπικά θεωρώ από τα διαμάντια του SQL Server που έχουμε διαθέσιμα από την έκδοση του SQL Server 2005 (Standard & Enterprise) SP1 είναι το Database Mirroring. Μέχρι την εμφάνιση του για να έχω αυτό που όλοι θέλουμε και δεν είναι άλλο από το database availability έπρεπε να καταφύγουμε σε κάποιες λύσεις όπως...
13 Sep 2009
SQL Server Express – Schedule backup
Μόλις έλαβα ένα request από τον συνάδελφο Γιώργο Σίμο να φτιάξω κάτι για να παίρνει schedule backup στο sql server express, μιας και αυτή η έκδοση δεν έχει τον sql server agent. Λοιπόν όποιος θέλει να υλοποιήσει μια τέτοια λύση θα πρέπει να κάνει τα εξής βήματα: ...
20 Jul 2009
Script for Full database backup in separate device per day
Πριν από λίγο ένας συνεργάτης μου, που έχει πολλούς πελάτες με ERP που είναι σε SQL Server μου ζήτησε να παίρνει backup σε ημερήσια εβδομαδιαία βάση αυτοματοποιημένα. Δηλαδή ένα backup για κάθε database (full βεβαια) κάθε μέρα της εβδομάδας, και την επόμενη εβδομάδα να γράφει πάνω στο προηγούμενο της αντίστοιχης ημέρας. Η λύση είναι απλή...
02 Jul 2009
Μήπως έχετε ξεχάσει κάποια database να την πάρετε backup;
Είστε σίγουροι ότι έχετε πάρει έστω και μια φορά όλες τις databases σας backup; Ειδικά εσείς αγαπητοί συνάδελφοι που έχετε πολλές databases είστε σίγουροι; Η απάντηση στο ερώτημα αυτό είναι η παρακάτω stored procedure η οποία θα σας επιστρέψει αμέσως όλες τις database που έχετε ξεχάσει να πάρετε backup.
27 Apr 2015
Database(s) backup history reports
Σαν DBA θέλεις να έχεις τα πάντα σε έλεγχο και για αυτό πρέπει αρκετές φορές να κάνεις κάποια πράγματα πριν οι καταστάσεις ξεφύγουν από τον έλεγχο σου.