sqlschool.gr logo

search results

searching on site content

08 Apr 2012

Security Enhancements in SQL Server 2012

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

23 Nov 2020

The undocumented ATTACH_FORCE_REBUILD_LOG

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

10 Feb 2015

Some tips when detach and attached databases with filestream filegroups

Το να κάνει ένας DBA detach/attach μια database δεν είναι κάτι περίεργο ούτε απαιτεί ιδιαίτερο κόπο. Το μόνο που πρέπει να λάβει σοβαρά υπόψη του είναι ο χρόνος που θα απαιτηθεί για να γίνει ξανά attached η βάση.

16 Jan 2013

Dealing with error 1418 when trying to start a Database Mirroring session

Κλασικό σφάλμα όταν προσπαθούμε να υλοποιήσουμε database mirroring χωρίς οι εμπλεκόμενοι SQL servers να είναι σε domain και τα services τους να ξεκινάνε με domain account καθώς θα πρέπει να γίνει δημιουργία του database mirroring με την χρήση certificates.

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) έχει μεγαλώσει και δίνει περισσότερες δυνατότητες.

16 Apr 2020

How to setup a Clusterless SQL Server 2017 Availablity Group

Σε αυτό το άρθρο βλέπουμε ένα Step by step οδηγό για την εγκατάσταση ενός Clusterless SQL Server 2017 Availablity Group

20 Feb 2014

CREATE DATABASE Secrets

Όλοι κάποια στιγμή έχουμε φτιάξει μια database είτε με το γραφικό περιβάλλον είτε με DDL statement (CREATE DATABASE). Για αυτούς που είναι λάτρεις του κώδικα και φτιάχνουν μια database με script υπάρχουν κάποια κρυφά μυστικά που είναι καλό να γνωρίζουν ;-)

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 αρχείο. Για να δούμε λοιπόν την υλοποίηση του ...

25 Feb 2018

How to truncate and save truncated data simultaneously

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

11 Mar 2015

Managing and Fixing Mismatched Security IDs

Ένα από τα πολλά θέματα της καθημερινότητας ενός μάχιμου DBA είναι η διαχείριση των mismatched security id.

04 Jan 2012

5 Tips for a Smooth SSIS Upgrade to SQL Server 2012

ΚΑΛΗ ΧΡΟΝΙΑ ΜΕ ΥΓΕΙΑ ΣΕ ΟΛΕΣ ΚΑΙ ΟΛΟΥΣ. Για ακόμα μια χρονιά και εγώ όπως και αρκετοί ακόμα έλαβα το email που με ενημέρωνε ότι συνεχίζω να είμαι MVP στον SQL Server. Τι καλύτερο να γιορτάσω την ανανέωση αυτή με ένα post.

17 Nov 2016

CREATE OR ALTER – in SQL Server 2016 SP1

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

16 Jun 2014

Unique Indexes Vs Filter Indexes

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

17 Feb 2015

Getting Started : Writing T-SQL (Part 1)

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

06 May 2019

Create re-usable temp table using dynamic T-SQL

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

19 Mar 2014

Understanding Index External Fragmentation - Part I (The cases)

Είμαι σίγουρος ότι έχετε ακούσει ουκ ολίγες φορές ότι μια από τις αιτίες που μπορεί να μειώνει την απόδοση των queries μας σε μια database είναι το index fragmentation (εφόσον βέβαια έχουμε σωστούς indexes και σωστά στατιστικά για αυτούς και φυσικά έχουμε γράψει queries που έχουν where clause) και ότι τo χειρότερο είναι το external fragmentation.

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...

03 Jul 2009

9 Things to Do When You Inherit a Database

By Sylvia Moestl Vasilik, 2009/06/22 Μου άρεσε πάρα πολυ και τα αναδημοσιεύω όπως έχει.

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 δεν είναι κάτι δύσκολο.

14 Apr 2020

Encrypting SQL Server Backup & Restore with Certificate

Στην σημερινή εποχή η ασφάλεια των δεδομένων είναι και πρέπει να αποτελεί υψηλή προτεραιότητα για κάθε DBA/IT Pro.

20 Sep 2017

Backup to URL for Large Databases

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

11 Jul 2016

Moving a table to another filegroup

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

09 Oct 2021

Keep DBCC CHECKDB output and history

Η εκτέλεση της γνωστής DBCC CHECKDB είναι αυτό που πρέπει να γίνεται καθώς είναι αυτή που ελέγχει την database. Το αποτέλεσμα της είναι κάτι που πρέπει να μελετούμε σχολαστικά μετά από κάθε εκτέλεση της και σε αρκετές περιπτώσεις ίσως θα πρέπει να το συγκρίνουμε με παλαιότερες εκτελέσεις.

29 Jul 2016

Database owner Vs db_owner database role

Δεν είναι λίγοι αυτοί που πιστεύουν ότι το να είναι κάποιος database owner είναι το ίδιο με το να ανήκει στο database role db_owner. Η απάντηση είναι ότι δεν είναι, αν και σε πρώτη ανάγνωση έτσι φαίνεται. Η ουσιαστική διαφορά είναι ότι ο πρώτος είναι ο πραγματικός owner και μπορεί να κάνει τα πάντα στην database. Εξάλλου μην ξεχνάμε ότι όποιος είναι sysadmin στο SQL Server instance στην κάθε database "μπαίνει" σαν dbo, που είναι ο database owner.

22 Mar 2016

Date Correlation in SQL Server

Είναι πολλές οι φορές που στο business logic μίας εφαρμογής, υπάρχουν ημερομηνίες οι οποίες συνδέονται λογικά μεταξύ τους. Ο SQL Server έχει την δυνατότητα να υπολογίζει το correlation μεταξύ τέτοιων ημερομηνιών και θα δούμε σε αυτό το post με ποιον τρόπο μπορούμε να το χρησιμοποιήσουμε στα δεδομένα μας.

20 Jul 2019

How to clone / move logins to another server

Δεν είναι λίγες οι φορές που χρειάζεται να μεταφέρεις logins από ένα SQL Server σε ένα άλλον. Οι λόγοι είναι αρκετοί για να θέλεις να κάνεις κάτι τέτοιο όπως Database Replication, Always On Availability groups, Log Shipping etc.

23 Jul 2012

Change Schema on an object in SQL Server database

Μια πρωινή ερώτηση που ένας συνάδελφος μου έθεσε ήταν η αφορμή για αυτό το tip of the day. Η ερώτηση του ήταν: Πως μπορώ να αλλάξω το schema σε ένα object μέσα σε μια database; Η απάντηση...

17 Jul 2012

DBCC EXTENTINFO – Another undocumented/documented useful dbcc command

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

26 Sep 2009

Πώς να “σκοτώσω” τα ανενεργά connections στον SQL Server

Αφορμή για αυτό το post είναι ο Blackman. Σε μια ωραία συζήτηση που είχαμε μου εξέφρασε την επιθυμία για αυτό επειδή μια εφαρμογή που έχει του αφήνει ανοικτά sessions. Σε αυτό το σημείο θα πρέπει να αναφέρω ότι κάτι τέτοιο μπορεί να συμβεί είτε διότι η εφαρμογή δεν έχει γραφτεί σωστά, είτε έπειδή ο σταθμός εργασίας που έχει ανοίξει το session σταμάτησε να λειτουργεί είτε η εφαρμογή σταμάτησε απότομα.

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 που προσφέρει σε κάποιες περιπτώσεις.

29 Jun 2010

Protect database from accidental deletion

Αφορμή για το post αυτό μου έδωσε αυτό το post, Protect object from accidental deletion. Για να κάνω κάτι τέτοιο στον SQL Server το μόνο που χρειάζεται να κάνω είναι να φτιάξω ένα απλό DML Trigger. Με το παρακάτω script γίνεται αυτό που θέλω και έτσι δεν πρόκειτε ποτέ να σβήσω μια βάση. Αν θελήσω να σβήσω μια βάση θα πρέπει πρώτα να κάνω disable τον trigger να κάνω την διαγραφή μου και μετά να ενεργοποίησω ξανά αυτόν.

23 Jul 2011

Ενδιαφέρουσες αλλαγές στα μηνύματα λάθους

Με αφορμή την ενασχόληση μου με την επιμέλεια των ελληνικών μηνυμάτων λαθών στον SQL Server DENALI, διαπίστωσα ότι έχουν γίνει αρκετά ενδιαφέρουσες αλλαγές σε αυτά.

28 Jul 2010

Πως μπορώ να μετρήσω το μέγεθος των δεδομένων που έχω μέσα σε ένα blob field?

Σημέρα ένας αγαπητός συνάδελφος έρχεται στο γραφείο μου και μου κάνει την εξής ερώτηση: «Υπάρχει κανένας τρόπος με τον οποίο μπορώ να δω το μέγεθος των πραγματικών δεδομένων που έχουν αποθηκευτεί στην βάση μου σε ένα πεδίο τύπου image;» Σίγουρα η πρώτη σκέψη όλων μας θα πάει στην LEN(), αλλά αυτή όμως δεν παίζει με πεδία τύπου image, text, ntext.

04 Jul 2009

Πώς να καταγράφω τα events μιας database του SQL Server 2005 στο Windows Event Log

Σήμερα το πρωί σε μια συνάντηση που είχαμε όλοι οι Έλληνες MCTs ένας συνάδελφος μου έκανε μια ερώτηση. “Θέλω να καταγράφω τα events που γίνονται σε μια βάση στο Windows Event Log γιατί θέλω να τα βλέπω από το MOM;” Η απάντηση σε αυτό είναι η παρακάτω, όμως θα πρέπει να επισημάνω ότι είναι για SQL Server 2005 μιας και στον SQL Server 2008 δεν υπάρχει η ανάγκη να κάνουμε κάτι τέτοιο μιας και υπάρχει build-in δυνατότητα την οποία υπόσχομαι να παρουσιάσω σε ένα άλλο μου post.

06 Oct 2016

Row Overflow Pages

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

03 Jan 2014

The effects of SET NOCOUNT ON

Αρκετοί φαντάζομαι γνωρίζετε το SET NOCOUNT ON setting. Θα έχετε πιθανώς διαβάσει ή ακούσει ότι όταν είναι ΟΝ έχουμε καλύτερη απόδοση κυρίως στα action queries (INSERT/UPDATE/DELETE), αν όχι μπορείτε να το δείτε στα BOL.Αυτό που θέλω είναι να σας δείξω το πόσο βελτίωση έχουμε και για αυτό θα κάνουμε ένα benchmark.

08 Apr 2013

You are locked out from a SQL Server instance ? - A Guide How to survive

Για διάφορους λόγους και διάφορες αιτίες όλα τα accounts που είχες και μπορούσες να μπεις σε ένα SQL Server instance σαν sysadmin είτε είναι κλειδωμένα είτε έχεις ξεχάσει τα paswords και πρέπει να κάνεις δουλειά τότε τι κάνεις;

13 Sep 2009

SQL Server Express – Schedule backup

Μόλις έλαβα ένα request από τον συνάδελφο Γιώργο Σίμο να φτιάξω κάτι για να παίρνει schedule backup στο sql server express, μιας και αυτή η έκδοση δεν έχει τον sql server agent. Λοιπόν όποιος θέλει να υλοποιήσει μια τέτοια λύση θα πρέπει να κάνει τα εξής βήματα: ...

02 Jul 2009

Μήπως έχετε ξεχάσει κάποια database να την πάρετε backup;

Είστε σίγουροι ότι έχετε πάρει έστω και μια φορά όλες τις databases σας backup; Ειδικά εσείς αγαπητοί συνάδελφοι που έχετε πολλές databases είστε σίγουροι; Η απάντηση στο ερώτημα αυτό είναι η παρακάτω stored procedure η οποία θα σας επιστρέψει αμέσως όλες τις database που έχετε ξεχάσει να πάρετε backup.

10 Feb 2018

Monitoring CREATE INDEX Progress

Όσοι από εμάς έχουν περάσει ή είναι DBA σε μεγάλες databases καθημερινά έρχονται αντιμέτωποι με πολλά ενδιαφέροντα θέματα. Ένα από αυτά είναι η συντήρηση και η δημιουργία των indexes σε μεγάλου όγκου databases. Ειδικότερα αυτό που ένας τέτοιος DBA ζητάει είναι να γνωρίζει το progress ώστε να είναι σε θέση να εκτιμήσει την ολοκλήρωση της εργασίας.

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.

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.

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-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.