sqlschool.gr logo

search results

searching on site content

18 Aug 2009

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

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

21 May 2012

Using Window Functions in SQL Server 2012

Πάρα πολλά νέα χαρακτηριστικά έχουν μπει στον SQL Server 2012. Όπως έχω πει και σε προηγούμενα post αλλά και στην πρόσφατη παρουσίαση μου στο 39o Autoexec event κάποια είναι δημοφιλή και ακούγονται συχνά όπως τα AlwaysOn Availability Groups, Auditing Enhancements, Security Enhancements κλπ. Δικαίως και είναι δημοφιλή. Υπάρχουν όμως τόσα άλλα που δεν ακούγονται, κακώς κατά την γνώμη μου. Σε μερικά μάλιστα δεν έχει δοθεί η δέουσα προσοχή. Ομολογώ ότι και εγώ σε κάποια δεν είχα δώσει και τόσο μεγάλη...

18 Jun 2014

Database Design Counts

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

08 Apr 2012

Security Enhancements in SQL Server 2012

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

27 Aug 2009

Παρουσίαση του Resource Governor στον SQL Server 2008.

Μέσα σε έναν οργανισμό θα συναντήσουμε πολλές batabase οι οποίες περιέχουν business-critical data. Πάνω από αυτές θα βρούμε applications τα οποία διαχειρίζονται τα δεδομένα αυτά. Καθώς ο όγκος των δεδομένων γεωμετρικά αυξάνετε, αλλά και ο αριθμός των χρηστών που ζητούν πρόσβαση σε αυτά μεγαλώνει, είναι κατανοητό σε όλους ότι η διαθεσιμότητα των δεδομένων πρέπει να είναι αδιάλειπτη, όπως επίσης και η ταχύτητα απόκρισης στα ερώτημα και στα transactions των χρηστών πρέπει να είναι μεγάλη και σταθερή. ...

13 Sep 2021

Get random rows from a table in SQL Server

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

select top(10) * from schema.table order by NEWID();

24 Jul 2014

Select Top N rows from multiple groups

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

17 Jan 2019

Cosmos DB Server-side Operations

Στην Cosmos DB υπάρχουν ,όπως και στις relational databases, διαδικασίες που τις θεωρούμε και είναι server side και δεν είναι άλλες από τα user defined functions, τις stored procedures και τους triggers και ως προς την λογική και την χρήση τους είναι όμοιες.

10 Jan 2016

Dynamic Management Functions for referencing and referenced entities

Στον SQL Server υπάρχουν διάφορα dynamic management objects, από τα οποία μπορεί κανείς να πάρει πληροφορίες για την δομή της βάσης και τις εξαρτήσεις που υπάρχουν ανάμεσα στους διάφορους πίνακες. Παρόλα αυτά πολλές φορές χρειαζόμαστε να μάθουμε και εξαρτήσεις που αφορούν SQL expressions. Την πληροφορία αυτή μπορούμε να πάρουμε από δύο dynamic management functions, την sys.dm_sql_referenced_entities και την sys.dm_sql_referencing_entities, τις οποίες θα δούμε σε αυτό το post.

28 May 2014

PARSENAME T-SQL Function

Σαν DBA αλλά και DB Developer έχεις την ανάγκη να διαβάσεις metadata για να κάνεις την δουλειά σου. Αρκετές είναι οι φορές που τo όνομα του object που παίρνεις είναι full qualified name δηλαδή περιέχει server, database, schema, και φυσικά το όνομα του και ανά περίπτωση θέλεις να πάρεις κάποιο από αυτά. Μην ψάχνεις να δεις πως θα τα κάνεις…

17 Nov 2016

CREATE OR ALTER – in SQL Server 2016 SP1

Αφού πέρασε η πρώτη μέρα με τις μεγάλες ανακοινώσεις για το SQL Server 2016 SP1 και όλοι είναι χαρούμενοι, ας πω και εγώ για ακόμα ένα που μπήκε στο SP1 και δεν κανείς δεν του έδωσε σημασία και δεν είναι άλλο από το

09 Jan 2014

Do you use an ORM? Please learn how to use it properly.

Τα τελευταία χρόνια έχει μεγάλη κουβέντα και μεγάλη χρήση από αρκετούς στην χρήση ORMs. Υπάρχουν αρκετά πλέον στην αγορά (EF, ΝHibernate κ.α.) και έτσι ο καθένας μπορεί να επιλέξει αυτό που του ταιριάζει. Αρκετές φορές έχω βρεθεί σε συζητήσεις σχετικά με αυτά και από αυτές έχω αποκτήσει την φήμη ότι είμαι από αυτούς που τα κατακρίνουν και στέκονται απέναντι τους.

16 Mar 2021

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

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

20 Aug 2015

The Database Developer Role

Πρόσφατα συμμετείχα σε μια συζήτηση στην οποία αναφέρθηκε ο ρόλος του DB Developer. Μέσα από αυτή την συζήτηση διαπίστωσα ότι οι απόψεις για το τι είναι και κυρίως τι κάνει ένας DB Developer δεν είναι ξεκάθαρες. Θεωρώντας ότι είναι χρήσιμο να γνωρίζουμε τι είναι ο DB Developer ρόλος και πως αυτός τοποθετείτε στην αγορά εργασίας (ζήτηση/αμοιβή) τόσο στην χώρα μας όσο και στο εξωτερικό, αποφάσισα να γράψω το συγκεκριμένο άρθρο.  

28 Jul 2010

What are the largest SQL projects in the world?

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

13 Jun 2015

Getting Started: Writing T-SQL (Part 4)

Σε συνέχεια του προηγούμενου post, θα δούμε τα Aggregate Functions που μπορούμε να χρησιμοποιήσουμε, καθώς και τα GROUP BY και HAVING clauses. Επιπλέον θα δούμε τα φίλτρα TOP και OFFSET – FETCH.

21 Jan 2015

Create a db_executor database role

Επειδή το security στη database είναι αρκετά σημαντικό και πραγματικά δεν ξέρω γιατί οι περισσότεροι δεν δίνουν την πρέπουσα σημασία σε αυτό το σύντομο post θα σας δώσω ένα tip του οποίου η εφαρμογή ξεπερνάει το 99% των περιπτώσεων.

23 Jan 2010

What a DBA must know for query performance in SQL Server

Θα επανέλθω στο συγκεκριμένο θέμα μετά από απαίτηση συναδέλφων που είδαν την παρουσίαση που έχω κάνει για το 34ο dotNetZone Event και την οποία θα βρείτε εδώ. Υπήρχαν κάποιες απορίες και ερωτήσεις που φιλοδοξώ να τις απαντήσω με το παρόν post μου. Ας πάρουμε λοιπόν τα πράγματα από την αρχή μιας και διακαείς πόθος όλων μας είναι να έχουμε την τέλεια απόδοση στα queries μας δηλαδή όλα να εκτελούνται σε χρόνο μηδέν και να επιστρέφουν δισεκατομμύρια εγγραφές (καλά πλάκα κάνω :D).

15 Jan 2016

Converting numbers in a string with various format

Μερικές φορές κάποια πράγματα που επαναλαμβάνονται δίνουν κάποιο σημάδι που δεν πρέπει κανείς να αγνοεί. Ίσως είναι η πρώτη φορά που μου συμβαίνει κάτι τέτοιο καθώς μέσα σε διάστημα 12 ώρων μου τέθηκε πάνω από 10 φορές (σε παραλαγγές) η παρακάτω ερώτηση.

22 Apr 2012

New SQL Server 2012 dynamic views to get instance information

Αν και μπορούμε να δούμε πολλά πράγματα μέσα από το SQL Server Management Studio, εντούτοις αρκετές φορές χρειάζεται να δούμε αρκετά παράθυρα για να σχηματίσουμε την εικόνα που θέλουμε. Φυσικά για όσους είναι ανυπόμονοι και δεν έχουν θέμα να γράφουν ένα απλό SELECT υπάρχουν λύσεις που λύνουν τα χέρια.

15 Oct 2015

SQL Server 2016 New features - The sys.dm_exec_function_stats DMV

Τα User Defined Functions (UDF) είναι γνωστά στους περισσότερους. Η χρήση τους είναι μεγάλη αλλά αρκετές φορές χρησιμοποιούνται λάθος κυρίως λόγο της άγνοιας που υπάρχει γύρω από την εκτέλεση ενός UDF και ιδιαίτερα όταν αυτό εμπλέκεται μέσα σε ένα query.

06 Sep 2011

Are Cursors evil or not?

Πριν τις καλοκαιρινές μου διακοπές είχα ένα τμήμα στο οποίο έκανα μάθημα όλη την σειρά σεμιναρίων του SQL Server 2008 R2. Το τμήμα αυτό είχε συναδέλφους που ήταν αποκλειστικά Oracle DBAs και Devs. Κατά την διάρκεια των σεμιναρίων είχα αρκετές ερωτήσεις του στυλ στην Oracle κάνουμε αυτό στο SQL το κάνουμε και πώς το κάνουμε. Από μια σύμπτωση η σειρά το σεμιναρίων ήταν πρώτα το administration, και μετά το programming και μετά το σεμινάριο με την T-SQL.

30 Jun 2009

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

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

18 Feb 2021

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

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

28 Mar 2012

Designing and Implementing Time Dimensions

Είναι σπάνιο το φαινόμενο σε μια λύση BI και σε ένα DW να μην ζητείται ανάλυση και reporting των δεδομένων με βάση κάποια χρονική περίοδο. Το σύνηθες είναι να έχω τουλάχιστον μία διάσταση χρόνου. Για το λόγο αυτό σε αυτό το post θα δούμε πως μπορούμε να σχεδιάσουμε και υλοποιήσουμε σε μια BI λύση μια τέτοια διάσταση. Για αρχή θα ξεκινήσουμε να δούμε την λογική με την οποία θα σχεδιάσουμε ένα time dimension. Σχεδιάζοντας ένα Time Dimension...

28 Aug 2019

Azure Data Studio – My Experience

Όταν ασχολείσαι με το SQL Server 24 χρόνια έχεις μάθει να κάνεις πράγματα από συνήθεια. Αυτή η συνήθεια δεν είναι κακή αρκεί να έχεις τα αυτιά και τα μάτια σου ανοικτά στο μέλλον.

03 Jan 2019

Cosmos DB for a Relational database user

Σε προηγούμενο άρθρο μου έκανα μια εισαγωγή στην Cosmos DB. Επειδή οι περισσότεροι έρχονται από τον κόσμο των Relational Databases καλό θα είναι να ξεκαθαρίσουμε λίγο ακόμα το πεδίο.

02 Apr 2018

Manage and Monitor SQL Server instances - Identify sessions that consume tempdb resources

Η tempdb είναι μια database την οποία μοιράζονται ΟΛΟΙ όσοι χρησιμοποιούν το instance στο οποίο αυτή υπάρχει. Στην tempdb αποθηκεύονται πολλά όπως user objects, internal objects, και version stores.

17 Feb 2015

Getting Started : Writing T-SQL (Part 1)

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

01 Feb 2012

How to use specific values in parameters of fn_dblog function

Μια από τις αγαπημένες functions που την χρησιμοποιώ αρκετά συχνά ιδιαίτερα σε περιπτώσεις που υπάρχει κάποιο πρόβλημα με συγκεκριμένη βάση είναι η fn_dblog. Παρόλο που είναι μια undocumented function εντούτοις είναι ευρέως γνωστή και φυσικά χρησιμοποιούμενη σε όσους σοβαρά ασχολούνται με τον SQL Server.

30 Mar 2013

Using T-SQL

Μια εξάωρη παρουσίαση που δείχνει σχεδόν όλα όσα θέλει κάποιος να μάθει για την χρήση της T-SQL. Σε αυτή καλύπτονται θέματα όπως Introduction to Microsoft SQL Server 2012,SQL Server Management Studio, Introduction to T-SQL Querying, SELECT Statements / Queries, Querying Multiple Tables, Sorting and Filtering Data, Grouping and Aggregating Data, Using Subqueries, Using Views, Table Value Functions and Table Expressions, Using Set Operators, Using Window Functions, Stored Procedures, What’s New in SQL Server 2012

05 Feb 2021

Getting client computer information from SQL Server

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

12 Jun 2020

The NULLIF expression

Σε αυτό το άρθρο ασχολούμαστε με το NULLIF expression, το οποίο αν χρησιμοποιηθεί κατάλληλα, μπορεί να δώσει πολλαπλά κέρδη τόσο στην απλότητα του query όσο και στην απόδοση του. Υποστηρίζεται σε SQL Server, Azure SQL Database, Azure Synapse Analytics (SQL DW) και Parallel Data Warehouse.

24 Apr 2017

TRY… CATCH with Extended Event

Από το SQL Server 2005 έχουμε στην διάθεση μας το TRY…CATCH με το οποίο μπορούμε να έχουμε ένα δομημένο exception handling και πραγματικά είμαστε όλοι ευχαριστημένοι με αυτό.Παρόλο που αυτό κάνει εξαιρετικά την δουλειά του και πιάνει πραγματικά όλα τα run time exceptions υπάρχει κάτι που συμβαίνει και που οι περισσότεροι πιστεύουν ότι είναι limitation σε αυτό (κατά την γνώμη μου δεν είναι).

03 Sep 2012

T-SQL Split Function

Αν και πιστεύω ότι αρκετοί θα έχετε υλοποιήσει κάτι τέτοιο εντούτοις σας παραδίδω και την δικιά μου εκδοχή που κάνει parse ένα string με delimiters και επιστρέφει ένα πίνακα με τα αποτελέσματα της εκτέλεσης.

14 Jun 2020

The QUOTENAME and CONCAT_WS string functions

Αν και είναι ένα μικρό άρθρο αυτό, εντούτοις θεώρησα ότι πρέπει να το γράψω καθώς βλέπω ότι κάποιοι ταλαιπωρούνται αδίκως όταν γράφουν κώδικα ειδικά όταν αυτός πρέπει να περιέχει object names πχ tables, fields, views, stored procedures.

07 Mar 2020

A lazy man solution

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

13 Jan 2017

How to find unpaid balance

Πάντα όταν κάνω μάθημα για την T-SQL οι μαθητές μου με ρωτάνε να τους δείξω πως μπορούν να λύσουν διάφορα προβλήματα που αντιμετωπίζουν στην εργασία τους και που τους έχουν παιδέψει αρκετά για να βρουν λύση ή δεν έχουν ακόμα βρει λύση και μαστορεύουν τα δεδομένα με χειρωνακτικό τρόπο στο Excel.

12 Feb 2017

Working with Hypothetical Indexes on SQL Server

Δεν είναι λίγες οι φορές που κοιτάζοντας ένα query που έχει κάποιο πρόβλημα απόδοσης διαπιστώνεις ότι η δημιουργία ενός index θα μπορούσε να λύσει το πρόβλημα αυτό και θέλεις να το δοκιμάσεις.

31 Aug 2022

Trim Functions Improvements - SQL Server 2022 - What's New

Episode #72 with Antonios Chatzipavlis

25 Aug 2022

New JSON Functions - SQL Server 2022 - What's New

Episode #68 with Antonios Chatzipavlis

24 Aug 2022

The Approximate Percentile Functions - SQL Server 2022 - What's New

Episode #67 with Antonios Chatzipavlis

1 2 

|< < > >| 

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-2024 All rights reserved

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