sqlschool.gr logo

search results

searching on site content

04 Jun 2014

DBCC CHECKIDENT - Manually set a new current identity value for the identity column

Δεν είναι σπάνιο το να έχεις ένα identity field μέσα σε ένα πίνακα. Κάποια στιγμή πιθανότατα θέλεις να σβήσεις όλα τα δεδομένα του πίνακα και όταν αρχίσεις να γεμίζεις ξανά τον πίνακα θέλεις το identity field να ξεκινάει από την αρχή

04 Dec 2014

Do not uncheck “Prevent saving changes that require table re-creation” option on SSMS

Οι περισσότεροι από εσάς όταν θέλετε να αλλάξετε την δομή ενός πίνακα σε μια βάση χρησιμοποιείτε το SQL Server Management Studio (SSMS) όπου με δεξί κλικ στον πίνακα κάνετε design και αφού κάνετε την αλλαγή που θέλετε πατάτε το save button από την toolbar.

26 Aug 2009

Πώς εκτελείται λογικά ένα sql query;

Τόσα χρόνια στον χώρο της πληροφορικής έχω μάθει να προσπαθώ να καταλάβω τι γίνεται πίσω από την σκηνή με αυτό που ασχολούμαι. Ο SQL Server είναι ένα από αυτά, και στο οποίο έχω αφιερώσει αρκετές τρίχες της κεφαλής μου. Σήμερα θα σας πάρω λίγο από τον πολύτιμο χρόνο σας για να σας μεταφέρω μια γνώση που θα σας φανεί αρκετά χρήσιμη.

02 Jul 2016

Database Page Internals

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

25 Sep 2014

Is it possible to Join a table with a stored procedure?

Σε όλους είναι γνωστό ότι δεν μπορείς ένα table να τον κάνεις join με μια stored procedure η οποία γυρνάει αποτελέσματα σε μορφή table. Είναι όντως 100% αλήθεια και αν δεν είναι γιατί δεν το χρησιμοποιούμε;

18 Aug 2009

Λίγα λόγια για την TempDb στο SQL Server 2005

Όπως όλοι γνωρίζουμε μια από τις system databases του SQL Server είναι η tempdb. Λίγοι είναι όμως γνωρίζουν το ρόλο αλλά και την σημασία της database αυτής. Και για να γίνω εξ’ αρχής αντιληπτός ο ρόλος της είναι σημαντικός, ζωτικός θα έλεγα για το performance του SQL Server. Ειδικά στον SQL Server 2005 γίνεται «τρελή χρήση» της βάσης αυτής.

06 May 2019

Create re-usable temp table using dynamic T-SQL

Δεν είναι λίγες οι φορές που χρειάζεται να δημιουργήσουμε ένα temp table δυναμικά καθώς δεν γνωρίζουμε εξ’ αρχής την δομή του είτε σε μια stored procedure είτε σε ένα script.

19 Sep 2016

The Data Row(s) structure

Δεν είναι λίγοι αυτοί που πιστεύουν ότι έχει σημασία η σειρά με την οποία πρέπει να μπαίνουν τα fields σε ένα table. Μάλιστα ισχυρίζονται ότι επηρεάζει και την απόδοση. Όμως η πραγματικότητα δεν είναι ακριβώς έτσι και η απόδοση δεν έχει να κάνει με την σειρά των fields στο table αλλά με το πόσο σωστά έχεις επιλέξει αυτά.

18 Apr 2010

TPC-C vs TPC-E

Πριν μερικές μέρες σε μια συζήτηση που είχα με ένα καλό φίλο και συνάδελφο στο Messenger μου ανάφερε ότι στο www.tpc.org στα TPC-C results δεν υπάρχει καμία αναφορά στον SQL Server. Ομολογώ ότι αυτό με έκανε να ξαφνιαστώ, αν και βέβαια είχα πάνω από δύο χρόνια να μπω στο συγκεκριμένο site ώστε να δω τι ακριβώς γίνεται, μιας και πίστευα ότι θα υπήρχε εκεί ο SQL Server, μπορεί να μην ήταν στην πρώτη θέση αλλά τουλάχιστον μέσα στην πρώτη πεντάδα. Η έκπληξη μου όπως καταλαβαίνεται ήταν μεγάλη, πολλά άρχισαν να ...

17 Jul 2012

DBCC EXTENTINFO – Another undocumented/documented useful dbcc command

Αρκετές φορές έχω αναφέρει κατά την διάρκεια των μαθημάτων και των παρουσιάσεων που κάνω για την αρχιτεκτονική μιας βάσης, ότι τα data files χωρίζονται σε σελίδες των 8K, κάθε 8 τέτοιες σελίδες αποτελούν ένα extent και ότι υπάρχουν δύο είδη extent τα uniform και τα mixed...

03 Jan 2011

Friendly name columns in Dynamic Management Object

Όπως γνωρίζεται από την έκδοση του SQL Server 2005 και μετά υπάρχουν τα dynamic management object. Είναι αυτά τα οποία τα βρίσκετε σε κάθε database όταν κάνε expand στον SSMS > Database > Views > System Views .Αυτά έχουν έρθει να κάνουν την ζωή μας ευκολότερη και αρκετά από αυτά έχουν σαν σκοπό να καταργήσουν κάποια DBCC statements.Όπως και να έχει είναι αρκετά χρήσιμα διότι έτσι αντλούμε ότι πληροφορίες θέλουμε σχετικά με την βάση μας ή το SQL Server.Αυτό όμως που τα κάνει ακόμα ομορφότερα ...

28 Jul 2010

What are the largest SQL projects in the world?

Πρόσφατα έπεσα μούρη με μούρη σε μια παρουσίαση του Kevin Cox που είχε το παραπάνω θέμα. Επειδή είναι αρκετά ενδιαφέρουσα και ρίχνει αρκετούς μύθους αποφάσισα να την μοιραστώ μαζί σας. Ας ξεκινήσουμε με μερικά στατιστικά

17 Jun 2020

The OUTPUT Clause in DML statements

Σε αυτό το άρθρο δείχνουμε το πως μπορούμε να εκμεταλευτούμε το OUTPUT clause στα DML statements

30 Jun 2009

The SQL Server Operating System (SQLOS) – Μέρος 1ο

Πριν προχωρήσω στο αντικείμενο που θέλω να παρουσιάσω θα ήθελα να περιγράψω κάποιες γνωστές έννοιες που θεωρώ ότι είναι καλό να επαναληθούν, μιας και η επανάληψη είναι η μητέρα της μάθησης όπως έλεγαν οι πρόγονοι μας. Κάθε application ( και με αυτό τον όρο συμπεριλαμβάνω και τα services ) μπορεί να εκτελεσθεί πολλές φορές. Κάθε εκτέλεση του application είναι ένα instance.

18 Apr 2019

Get query results in HTML Table

Πόσες φορές θέλεις να πάρεις τα αποτελέσματα ενός query σε html table γιατί απλά θέλεις να τα βάλεις σε μια σελίδα ή στο blog σου;

25 Feb 2018

How to truncate and save truncated data simultaneously

Δεν είναι λίγες οι φορές που χρειάζεται να σβήσεις όλα τα δεδομένα από ένα table αλλά πριν το κάνεις αυτό χρειάζεται να τα φυλάξεις κάπου αλλού για διάφορους λόγους

06 Oct 2016

Row Overflow Pages

Μου αρέσουν οι μαθητές μου να έχουν περιέργεια και ζητάνε περισσότερα για το τι συμβαίνει πίσω από την σκηνή. Αυτό είναι που με κρατάει ζωντανό στο να κάνω αυτό που κάνω. Κάποια στιγμή κατά την διάρκεια του μαθήματος η κουβέντα μας είχε φτάσει στα internals της δομή μιας database και όπως έπρεπε να γίνει έγινε αναφορά και στα row overflow pages. Αυτή τη πληροφορία θέλω να μοιραστώ στο άρθρο αυτό.

14 Mar 2010

Lesson: Backup/Restore in SQL Server 2008

Βλέποντας μέσα από το forum μας διάφορες συζητήσεις σχετικά με το θέμα του μεγέθους του transaction log (T-Log) διαπίστωσα ότι υπάρχει ένα θολό τοπίο γύρω από το θέμα disaster recovery (backup - restore) πάνω στον SQL Server. Πήρα την απόφαση να γράψω για αυτό το θέμα ώστε να το ξεκαθαρίσω μια και καλή διότι είναι τόσο απλό και τόσο δυνατό που είναι αμαρτία από το Θεό να παιδεύεται ο κόσμος.

13 Jan 2012

How to check my queries if they are ANSI compatible? (Tip of the day)

Αρκετές φορές έχω ερωτηθεί και έχω πει την άποψη μου για το τι είναι ANSI Transact SQL και τι όχι, όπως επίσης έχω πει και το πόσο ο SQL Server έχει δώσει βάρος στο να είναι κοντά στο ANSI. Όπως και να έχει όμως είτε θέλω να γράφω pure ANSI επειδή ενδεχομένως να θέλω portability είτε γιατί απλά είμαι περίεργος και θέλω να ξέρω αυτό που γράφω πόσο ANSI είναι , μπορώ το κάνω απλά χρησιμοποιώντας...

08 Apr 2012

Security Enhancements in SQL Server 2012

Ας κάνουμε μία αποτοξίνωση από τα BI post και ας πάμε να δούμε τι καλά έχουν έρθει στην ασφάλεια του SQL Server 2012. Αν και ο SQL Server εδώ και πολλά χρόνια είναι ασφαλής σε σχέση με τον ανταγωνισμό εντούτοις δεν υπάρχει εφησυχασμός στο product group καθώς το θέμα ασφάλεια είναι μια ατέρμονη πάλη με τους κακούς.

15 Nov 2015

The TRUNCATE TABLE statement

Σε αυτό το post θα μιλήσουμε για το TRUNCATE TABLE statement, τις χρήσεις του και τις διαφορές του με το DELETE statement.

05 Jul 2009

Παρουσίαση του Activity Monitor στον SQL Server 2008

Πριν ξεκινήσω να περιγράφω το συγκεκριμένο εργαλείο, οφείλω να καταθέσω την άποψη μου γι’ αυτό. ΕΙΝΑΙ ΚΑΤΑΠΛΗΚΤΙΚΟ!!!. Όσοι έχετε ασχοληθεί από παλία με τον SQL Server, προσωπικά ασχολούμαι από την έκδοση 6.0 (1996), θα έχετε παρακολουθήσει την εξέλιξη του συγκεκριμένου εργαλείου. Σε κάθε έκδοση είχαμε κάποιες βελτιώσεις. Όμως στην έκδοση του SQL Server 2008 πιστεύω ότι έχουμε τις περισσότερες αλλά και τις σημαντικότερες βελτιώσεις.

16 Jun 2014

Unique Indexes Vs Filter Indexes

Σε ένα προϊόν σαν τον SQL Server που είναι περίπλοκο και περιέχει αρκετή περιπτωσιολογία είναι φυσικό όσοι ασχολούνται περιστασιακά ή επιφανειακά μαζί του να μπερδεύουν κάποια πράγματα και να βγάζουν λάθος συμπεράσματα. Σε αυτή την περίπτωση καλό θα είναι να μπαίνουν όλα σε μια σειρά.

23 Jan 2016

In-sync databases backups and restores

Για τους περισσότερους ένα application έχει μια database. Αυτό απολοποιεί σε μεγάλο βαθμό κάποια πράγματα και ένα από αυτά είναι και το backup της database. Ακόμα και σε αυτή την περίπτωση όμως πρέπει να ληφθούν σοβαρά όλες οι παράμετροι όπως το RPO και το RTO. Τα πράγματα όμως παίρνουν μια άγρια ομορφιά όταν πίσω από την εφαρμογή σου υπάρχουν περισσότερες από μια databases. Σενάρια για μια τέτοια κατάσταση υπάρχουν αρκετά όπως για παράδειγμα να έχεις μια OLTP database που ενημερώνει μια MIS database ή να έχεις δύο OLTP databases που ενημερώνονται παράλληλα κατά την διάρκεια των transactions που υλοποιούνται από το application.

21 Jun 2013

Doing Magic with Partitioning and ColumnStore Index in a Data Warehouse DB on SQL Server 2012

Αρκετοί με ρωτάνε στα μαθήματα που κάνω αλλά και με emails στο SQL School σχετικά με το θέμα του table partitioning. Δεν ξέρω γιατί αλλά πολλούς έχει προβληματίσει και μπορώ να πω ότι έχει αγχώσει, αν και δεν θα έπρεπε καθώς είναι μια καθαρή λύση. Υπάρχουν και συνάδελφοι που ασχολούνται με BI και έχουν Data Warehouses (DW) στα οποία θέλουν να επωφεληθούν από το table partitioning αλλά και από την χρήση των columnstore indexes. Αποφάσισα να σας φτιάξω ένα μικρό demo με το οποίο θα δείτε ότι το να κάνει κάποιος table partitioning δεν είναι κάτι δύσκολο.

28 Jun 2015

How to change the Default Drillthrough Max Rows in SSAS

Αρκετά από τα post μου έχουν γραφτεί με αφορμή ερωτήσεις που μου έχουν τεθεί κατά την διάρκεια των μαθημάτων που κάνω ή από αυτά που μου έχουν ζητηθεί να υλοποιήσω. Το συγκεκριμένο μου ζητήθηκε τελευταία και από τις δύο περιπτώσεις και επειδή η σύμπτωση πάντα κάτι σημαίνει πήρα την απόφαση για αυτό το άρθρο.

20 Aug 2017

Fast copy data from table to table

Δεν είναι σπάνιες οι φορές που χρειάζεται να μεταφερθούν δεδομένα από ένα πίνακα σε ένα άλλο οι λόγοι αρκετοί όπως table archiving, table partitioning κ.α. Όταν οι εγγραφές είναι λίγες (<10000) ένα απλό INSERT SELECT statement είναι η εύκολη λύση με αρκετά καλό χρόνο απόκρισης και κάνεις μας δεν σκέφτεται κάτι άλλο εκτός από το να έχει όσο το δυνατό μικρότερο locking impact.Τι γίνεται όμως όταν έχεις να μεταφέρεις δεδομένα που είναι πολλά;

29 Nov 2010

SQL Server Release History

Κατά την διάρκεια του IT PRO | DEV CONNECTIONS 2010 και ειδικότερα στην παρουσίαση του Γιώργου του Καπνιά αλλά και την δική μου είχα την ευκαιρία να κάνω μερικές ερωτήσεις ώστε αυτός που θα απαντήσει να πάρει κάποιο δώρο. Μία από αυτές τις ερωτήσεις που έκανα ήταν αν γνώριζε κανείς το codename του SQL Server 7. Επειδή δεν το γνώριζε κανείς αποφάσισα να φτιάξω αυτό το post ώστε να αναφέρω τα codenames όλων των εκδόσεων του SQL Server αλλά και διαφόρων επιμέρους τμημάτων του. Έτσι έχουμε την παρακάτω λίστα ...

13 Aug 2013

FILESTREAM Best Practices from usage and experience

Από τον SQL Server 2008 υπάρχει ένα feature που είναι ιδανικό για BOL fields μέσα στην βάση. Αναφέρομαι φυσικά στο filestream. Προσωπικά το έχω χρησιμοποιήσει σε μεγάλο βαθμό σε μια εφαρμογή στην οποία αποθηκεύονται έγγραφα, φωτογραφίες υψηλής ανάλυσης. Θα ήθελα να προσθέσω μερικά ακόμα tips τα οποία προέρχονται 100% από την χρήση του σε μία βάση που το μέγεθος της είναι πολύυυυυυυυυυ μεγάλο.

13 Jan 2020

What you need to know when using MERGE statement

Στο SQL Server 2008 παρουσιάστηκε για πρώτη φορά το MERGE statement το οποίο απλοποιούσε τις διαδικασίες insert/update/delete ιδιαίτερα σε ETL διαδικασίες και από όσο έχω δει έχει αγαπηθεί από αρκετούς και μέσα σε αυτούς είμαι και εγώ.

17 Sep 2012

How to create system object in SQL Server

Αρκετές φορές σαν DBA θέλουμε να έχουμε κάποια objects (tables, stored procedures) σε ένα σημείο από όπου να μπορούμε να τα καλούμε από οποιαδήποτε βάση μας χωρίς να χρειάζεται να αναφερόμαστε σε αυτούς με qualified name (πχ db_name.schema_name.obj_name). Να είναι τρόπο τινά system object.

17 Feb 2015

Getting Started : Writing T-SQL (Part 1)

Αυτή η σειρά από posts, έχει σκοπό να βοηθήσει κάποιον να κάνει τα πρώτα του βήματα στην χρήση του Microsoft SQL Server και να κάνει μια γνωριμία με την Τransact-SQL.

19 Jun 2017

Backup Concurrency in the same database

Οι ερωτήσεις σχετικά με τα backups στο SQL Server είναι πάντα από αυτές που δέχομαι συχνά. Μια από αυτές τις ερωτήσεις είναι τι γίνεται στις περιπτώσεις που ταυτόχρονα συμπίπτουν δύο διαδικασίες backup είτε του ίδιου τύπου είτε διαφορετικού.

19 Jan 2021

Dynamic Data Masking

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

07 Oct 2017

SOME T-SQL IMPLICIT CASTING TRAPS

Είναι γνωστό ότι τα implicit casts κρύβουν κινδύνους και ειδικά μέσα στα queries μας τα αποφεύγουμε. Παρόλα αυτά είναι καλό να ξέρουμε πως συμπεριφέρονται στον SQL Server και τι να περιμένουμε στο αποτέλεσμα.

22 Feb 2020

Let's talk about Lock related wait types

O μη σεβασμός στην αρχιτεκτονική των RDBMS και ειδικότερα σε αυτό που ονομάζεται concurrency είναι η αιτία των περισσότερων "προβλημάτων" της καθημερινότητας.

11 Jul 2016

Moving a table to another filegroup

Στο πρόσφατα ολοκληρωμένο σεμινάριο (20462) στο οποίο μιλάμε και για filegroups, έδειχνα στους μαθητές μου πως μπορούν αν εκμεταλλευτούν αυτά ώστε να επωφεληθούν από αυτά τόσο σε maintenance όσο και σε performance. Αφού μέσα από τα δικά μου παραδείγματα που δεν υπάρχουν στο βιβλίο τους έχω βάλει το μικρόβιο να θέλουν σαν τρελοί να τα χρησιμοποιήσουν η αναμενόμενη επόμενη ερώτηση είναι πως μπορούν σε ήδη δημιουργημένες databases να κάνουν αυτό. Η απάντηση πάντα από μένα στο μάθημα είναι μέσω παραδείγματος καθώς κάτι τέτοιο δεν το έχει το σεμινάριο. Σήμερα κατά μια διαβολεμένη σύμπτωση ένας καλός συνάδελφος από μια εξωτερική εταιρεία ήθελε να κάνει κάτι αντίστοιχο και επειδή μέχρι τώρα δεν το είχα γράψει σαν άρθρο θεώρησα ότι κάποια δύναμη θέλει να γίνει αυτό πραγματικότητα οπότε …

04 Apr 2016

An easy way to have a database documentation

Όλοι θέλουμε να έχουμε ένα documentation για κάθε database που παραλαμβάνουμε από άλλους. Μάλιστα εκφράζουμε την δυσαρέσκεια μας όταν κάτι τέτοιο δεν υπάρχει, αλλά αν μας ζητήσουν να φτιάξουμε εμείς κάτι τέτοιο για την database που φτιάχνουμε τότε διαμαρτυρόμαστε ότι αυτό είναι χάσιμο χρόνου ή ότι δεν είναι η δουλεία μας κάτι τέτοιο. Μπορώ να καταλάβω τις διαφωνίες καθώς οι περισσότεροι θεωρούν ότι θα πρέπει να γράψουν καντάρια κειμένου. Αλήθεια πόσοι από εσάς έχετε πάρει τόμους τεκμηρίωσης στα χέρια σας και τα έχετε διαβάσει όλα;

05 Jul 2011

DBCC IND

Αν και η συγκεκριμένη εντολή είναι ευρέως γνωστή και σίγουρα θα την έχετε βρει σε διάφορα sites εντούτοις θα γράψω και εγώ για αυτή καθώς θεωρώ ότι είναι μια σημαντική εντολή αν και είναι undocumented.

22 Aug 2017

What is the best method to delete huge number of rows?

Όλοι σχεδόν έχουμε έρθει αντιμέτωποι με το πως θα σβήσουμε ένα μεγάλο αριθμό εγγραφών από ένα πίνακα σε μια βάση χωρίς αυτό να επιβαρύνει το σύστημα τόσο σε πόρους όσο και σε locks.

28 Mar 2012

Data Warehouse Logical Design, How To.

Συνεχίζοντας την σειρά των post που αφορούν την υλοποίηση ενός DW για την κάλυψη των αναγκών μιας BI λύσης θα ασχοληθούμε σε αυτό με τον logical design του DW. Όπως έχω ήδη αναφέρει σε παλαιότερα post ένα DW είναι ο θεμέλιος λίθος καθώς σε αυτό γίνονται τα ερωτήματα που θα δώσουν τις απαντήσεις σε αυτούς που πρέπει να λάβουν αποφάσεις. Έτσι αυτό θα πρέπει σαν Νούμερο Ένα Απαίτηση να είναι έτσι φτιαγμένο ώστε να υποστηρίζει γρήγορο διάβασμα (optimized for data read operations).

20 Sep 2017

Backup to URL for Large Databases

Εδώ και χρόνια ( από τον SQL Server 2012 SP1 CU2) υπάρχει η δυνατότητα για SQL Server backups σε Azure Blob storage με το γνωστό (υποθέτω σε όλους μας)  backup to URL. Αρκετοί το έχουν υλοποιήσει, μεταξύ αυτών και ένας πελάτης μου αλλά κάποια στιγμή άρχισε να μην δουλεύει. Σε αυτό το άρθρο σας δείχνω το γιατί και πως λύνεται το πρόβλημα.

1 2 3 4  > 

|< < > >| 

Categories

Labels

0-9

A

B

C

D

E

F

G

H

I

J

K

L

M

N

O

P

Q

R

S

T

U

V

W

X

Σ

Become a member

If you want to receive updates from us become a member to our community.

Connect

Explore

Learn


sqlschool.gr © 2010-2025 All rights reserved

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