21 Aug 2019
Database Mail Administration Summary
Το DBMail είναι κάτι που χρόνια έχουμε στον SQL Server και βασικό σκοπό έχει να στέλνει notifications είτε από alerts είτε από jobs. Φυσικά μπορείς να κάνεις και άλλα πράγματα αλλά δεν είναι σε καμία περίπτωση αντικαταστάτης ενός mail server.
28 Oct 2009
Γιατί πρέπει να χρησιμοποιώ Stored Procedures
Χαίρετε, καιρό είχατε να με ακούσετε ε; Δυστυχώς αυτά συμβαίνουν όταν αλλάζεις δουλειά. Όμως σιγά σιγά βρίσκω τα νέα βήματα μου οπότε επανέρχομαι δριμύτερος. Σήμερα θέλω να σας κουράσω με κάτι που δεν είναι στο administration του SQL Server αλλά στο programming του. Αυτό ακούει στο όνομα Stored Procedures. Είμαι σίγουρος ότι αν όχι όλοι οι περισσότεροι τις ξέρετε. Είμαι σίγουρος ότι υπάρχουν φανατικοί υποστηρικτές τους, όπως επίσης και άλλοι που όταν ακούνε το όνομα τους βγάζουν σπυράκια. ...
20 Mar 2011
Identify slow running queries with SQL Profiler trace data
Με αφορμή το τελευταίο μου SQL Server Saturday Night που σαν θέμα είχε τον SQL Server Profiler και μπορείτε να το δείτε εδώ και στο οποίο αναφέρθηκα στο συγκεκριμένο θέμα αποφάσισα να γράψω το συγκεκριμένο ώστε να δώσω περισσότερες λεπτομέρειες. Όπως ανέφερα και στη παρουσίαση μου το ποια events θα διαλέξει κάνεις έχει περισσότερο να κάνει με την εμπειρία που έχει αλλά και την ικανότητα με αυτά να εντοπίσει το εν λόγω πρόβλημα.
07 Oct 2011
The truth about WITH ENCRYPTION option
Όταν βάζουμε το WITH ENCRYPTION option σε μια stored procedure, ένα trigger, μια function ή ένα view ξέρουμε ότι αυτόματα ο κώδικας δεν είναι ορατός. Θα μπορούσαμε να πούμε ότι είναι κλειδωμένος. Δεν ξέρω αν το γνωρίζεται αλλά ο SQL Server δεν είναι ένα digital rights management system αυτό σημαίνει ότι ο κώδικας που έχει γραφεί μέσα μια sp, function κλπ δεν είναι encrypted...
17 Jan 2019
Cosmos DB Server-side Operations
Στην Cosmos DB υπάρχουν ,όπως και στις relational databases, διαδικασίες που τις θεωρούμε και είναι server side και δεν είναι άλλες από τα user defined functions, τις stored procedures και τους triggers και ως προς την λογική και την χρήση τους είναι όμοιες.
24 Jul 2010
How to setup Database Mail (SQL Server 2005)
Αφορμή για αυτό το post είναι ένα ερώτημα από ένα φίλο της κοινότητα μας (autoexec.gr). Είναι για τον SQL Server 2005 αλλά μπορείτε να το εφαρμόσετε και στις επόμενες εκδόσεις Για να εγκαταστήσουμε το database mail θα πρέπει να ακολουθήσουμε τα παρακάτω βήματα. Μια βασική προυπόθεση είναι να έχουμε ένα smtp server με ένα mail account. Ανοίγουμε το SSMS και πάμε δεξί κλικ Configure Database Mail όπου ο Database mail configuration wizard ξεκινάει ...
19 Aug 2009
Export data to Excel File using pure T-SQL
O SQL Server έχει αρκετά εργαλεία για να κάνεις export & import data. Από τα απλά T-SQL BULK INSET ή το κλασσικό BCP μέχρι τα DTS (Data Transformation Services) και σήμερα τα SSIS ( SQL Server Integration Services). Όμως υπάρχουν αρκετές περιπτώσεις που δεν θα ήθελες να εμπλακείς με αυτά. Ένα σενάριο το οποίο κάποια στιγμή σε ένα project μου έτυχε ήταν η απαίτηση να πατάει ο χρήστης ένα κουμπί και να γίνονται τα δεδομένα export σε Excel αρχείο. Για να δούμε λοιπόν την υλοποίηση του ...
02 Feb 2021
EXECUTE (EXEC) vs. sp_executesql
Παρατηρώ ότι αρκετοί προβληματίζονται ή έχουν μπερδευτεί για το πότε πρέπει να χρησιμοποιούν την EXECUTE (περισσότερο γνωστή με την σύντμηση της EXEC) ή την sp_executesql.
Λοιπόν για να βάλουμε τα πράγματα σε σειρά.
22 May 2019
Discover Orphaned Domain Logins using sp_validatelogins
Ένα περιβάλλον παραγωγής δεν είναι ποτέ το ίδιο κατά την διάρκεια λειτουργίας του και αυτό είναι φυσιολογικό καθώς οι ανάγκες οδηγούν στις μεταβολές του. Ένα σημείο που αλλάζει συχνά είναι η δικαιοδοσία των χρηστών.
21 Jan 2015
Create a db_executor database role
Επειδή το security στη database είναι αρκετά σημαντικό και πραγματικά δεν ξέρω γιατί οι περισσότεροι δεν δίνουν την πρέπουσα σημασία σε αυτό το σύντομο post θα σας δώσω ένα tip του οποίου η εφαρμογή ξεπερνάει το 99% των περιπτώσεων.
03 May 2015
Using sp_send_dbmail to send Excel file (csv) as attachment
Πόσες φορές έχεις την ανάγκη να εκτελέσεις ένα query και τα αποτελέσματα τα του να τα στείλεις με email σε ένα excel; Τρόποι υπάρχουν αρκετοί. Σε αυτό το post θα σας δείξω ακόμα έναν που αυτοματοποιεί ακόμα περισσότερο την διαδικασία.
28 Jan 2021
Move object(s) to another schema
Από τον SQL Server 2005 έχουμε την ξεκάθαρη δυνατότητα χρήσης των schemas. Αν μετά από την δημιουργία του object επιθυμεί κάποιος να μεταφέρει αυτό σε άλλο schema, στο post αυτό θα διαβάζει το πως μπορεί να το κάνει.
07 Jun 2017
The DB STARTUP command
Πρόσφατα, σε ένα παραγωγικό περιβάλλον εμφανίστηκε ένα πρόβλημα με μεγάλης διάρκειας PAGEIOLATCH_EX latches, σε έναν μεγάλου μεγέθους πίνακα, τα οποία τελικά προκαλούσαν αδυναμία εκτέλεσης CRUD operations πάνω σε αυτόν.
30 Jun 2009
The SQL Server Operating System (SQLOS) – Μέρος 1ο
Πριν προχωρήσω στο αντικείμενο που θέλω να παρουσιάσω θα ήθελα να περιγράψω κάποιες γνωστές έννοιες που θεωρώ ότι είναι καλό να επαναληθούν, μιας και η επανάληψη είναι η μητέρα της μάθησης όπως έλεγαν οι πρόγονοι μας. Κάθε application ( και με αυτό τον όρο συμπεριλαμβάνω και τα services ) μπορεί να εκτελεσθεί πολλές φορές. Κάθε εκτέλεση του application είναι ένα instance.
13 Mar 2020
What the acronyms in SQL Server means?
Δεν είναι λίγες οι φορές που έχω ερωτηθεί τι σημαίνουν τα αρχικά που συνήθως συνοδεύουν την έκδοση του SQL Server για αυτό και αποφάσισα να γράψω το παρακάτω άρθρο.
19 Aug 2021
sp_indexdetails – Get index details and internals
Από τα θέματα που είναι σημαντικά και φυσικά έχουν απασχολήσει και θα συνεχίσουν να πράττουν αυτό είναι οι indexes και τα statistics αυτών. Αρκετός είναι επίσης και ο χρόνος που δαπανάμε για κάνουμε monitoring και optimizing αυτούς χρησιμοποιώντας τα εργαλεία όπως τα DMVs/DMFs.
15 Jul 2018
The Plan Cache Internals and Management
Κάθε φορά που στέλνουμε ένα Transact SQL statement να εκτελεστεί σε ένα SQL Server instance είναι γνωστό ότι ένα από τα βασικά components του SQL Server Database Engine αναλαμβάνει την διαδικασία αυτή και αυτό δεν είναι άλλο από τον Query Optimizer. Αυτός αναλαμβάνει να μετατρέψει το δεδομένο T-SQL statement σε μια σειρά από logical operators οι οποίοι θα χρησιμοποιηθούν για την εκπλήρωση της εκτέλεσης του T-SQL statement. Αυτή η σειρά των logical operators είναι γνωστή σαν Query Execution Plan.
26 Jul 2015
Running SQL Server Agent job on AlwaysOn Availability Groups
Όσοι έχουν στο περιβάλλον τους έστω και ένα AlwaysOn Availability Group σίγουρα θα έχουν αναρωτηθεί πως να εκτελούν τις διάφορες εργασίες που θέλουν πάνω σε μια database που είναι σε Availability Group.
Υπάρχουν αρκετοί τρόποι, από τον απλούστερο μέχρι τον ποιό advanced και φυσικά αυτό που προτείνω για αυτό το θέμα.
31 May 2020
Get Month and Day name in a different language
Υπάρχουν φορές που κάποιος θέλει να εμφανίζεται το λεκτικό του μήνα ή της ημέρας στην γλώσσα που επιθυμεί. Αυτό μπορεί να γίνει με κάποιους τρόπους και έχω δει και χρησιμοποιήσει πολλούς, αλλά θα μιλήσω μόνο για δύο στο άρθρο αυτό καθώς οι άλλοι προσδίδουν περισσότερη πολυπλοκότητα στο κώδικα που πρακτικά δεν αξίζει κάποιος να ασχοληθεί μαζί τους.
14 May 2020
Azure Synapse Analytics SQL Pool Workload Management
Στο άρθρο αυτό αναλύονται οι τρόποι (παλιός και νέος) με τους οποίους μπορούμε να κάνουμε workload management στο Azure Synapse SQL pool. Είναι ένα αρκετά μεγάλο άρθρο στην ανάγνωση του αλλά θεωρούμε ότι αναλύει απλά και κατανοητά όλα όσα πρέπει κάποιος να γνωρίζει για να υλοποιήσει σωστά αυτό.