Κορυφαίες 50 ερωτήσεις και απαντήσεις για συνεντεύξεις του SQL Server (2026)
Ερωτήσεις και απαντήσεις για συνέντευξη του SQL Server για φρέσκους
1. Ποιες είναι οι δύο λειτουργίες ελέγχου ταυτότητας στον SQL Server;
Υπάρχουν δύο τρόποι ελέγχου ταυτότητας -
- Windows Τρόπος
- Μικτή λειτουργία
Οι λειτουργίες μπορούν να αλλάξουν επιλέγοντας το μενού εργαλείων των ιδιοτήτων διαμόρφωσης του SQL Server και επιλέξτε σελίδα ασφαλείας.
👉 Δωρεάν λήψη PDF: Ερωτήσεις & Απαντήσεις σε Συνέντευξη του SQL Server
2. Τι είναι το SQL Profiler;
Το SQL Profiler είναι ένα εργαλείο που επιτρέπει στον διαχειριστή του συστήματος να παρακολουθεί συμβάντα στον διακομιστή SQL. Αυτό χρησιμοποιείται κυρίως για τη συλλογή και αποθήκευση δεδομένων για κάθε συμβάν ενός αρχείου ή ενός πίνακα για ανάλυση.
3. Τι είναι η αναδρομική αποθηκευμένη διαδικασία;
Ο SQL Server υποστηρίζει αναδρομική αποθηκευμένη διαδικασία που καλεί από μόνη της. Η αναδρομική αποθηκευμένη διαδικασία μπορεί να οριστεί ως μια μέθοδος επίλυσης προβλημάτων όπου η λύση φθάνει επαναλαμβανόμενα. Μπορεί να φωλιάσει έως και 32 επίπεδα.
CREATE PROCEDURE [dbo].[Fact] ( @Number Integer, @RetVal Integer OUTPUT ) AS DECLARE @In Integer DECLARE @Out Integer IF @Number != 1 BEGIN SELECT @In = @Number – 1 EXEC Fact @In, @Out OUTPUT - Same stored procedure has been called again(Recursively) SELECT @RetVal = @Number * @Out END ELSE BEGIN SELECT @RetVal = 1 END RETURN GO
4. Ποιες είναι οι διαφορές μεταξύ τοπικών και καθολικών προσωρινών πινάκων;
- Οι τοπικοί προσωρινοί πίνακες είναι ορατοί όταν υπάρχει σύνδεση και διαγράφονται όταν η σύνδεση είναι κλειστή.
CREATE TABLE #<tablename>
- Οι καθολικοί προσωρινοί πίνακες είναι ορατοί σε όλους τους χρήστες και διαγράφονται όταν κλείσει η σύνδεση που τους δημιούργησε.
CREATE TABLE ##<tablename>
5. Τι είναι ο περιορισμός CHECK;
Ένας περιορισμός CHECK μπορεί να εφαρμοστεί σε μια στήλη σε έναν πίνακα για να περιοριστούν οι τιμές που μπορούν να τοποθετηθούν σε μια στήλη. Ο περιορισμός ελέγχου είναι η επιβολή της ακεραιότητας.
6. Μπορούν οι διακομιστές SQL να συνδεθούν με άλλους διακομιστές;
Διακομιστής SQL μπορεί να συνδεθεί σε οποιαδήποτε βάση δεδομένων που έχει πάροχο OLE-DB για να δώσει μια σύνδεση. Παράδειγμα: Oracle έχει πάροχο OLE-DB που έχει σύνδεσμο για σύνδεση με την ομάδα διακομιστών SQL.
7. Τι είναι το δευτερεύον ερώτημα και οι ιδιότητές του;
Ένα δευτερεύον ερώτημα είναι ένα ερώτημα που μπορεί να είναι ένθετο μέσα σε ένα κύριο ερώτημα όπως προτάσεις Επιλογή, Ενημέρωση, Εισαγωγή ή Διαγραφή. Αυτό μπορεί να χρησιμοποιηθεί όταν επιτρέπεται η έκφραση. Οι ιδιότητες του δευτερεύοντος ερωτήματος μπορούν να οριστούν ως
- Ένα δευτερεύον ερώτημα δεν πρέπει να έχει σειρά με ρήτρα
- Ένα δευτερεύον ερώτημα πρέπει να τοποθετηθεί στη δεξιά πλευρά του τελεστή σύγκρισης του κύριου ερωτήματος
- Ένα δευτερεύον ερώτημα πρέπει να περικλείεται σε παρένθεση επειδή πρέπει να εκτελεστεί πρώτα πριν από το κύριο ερώτημα
- Μπορούν να συμπεριληφθούν περισσότερα από ένα δευτερεύοντα ερωτήματα
8. Ποιοι είναι οι τύποι του δευτερεύοντος ερωτήματος;
Υπάρχουν τρεις τύποι υποερωτημάτων –
- Υποερώτημα μίας σειράς που επιστρέφει μόνο μία σειρά
- Υποερώτημα πολλαπλών σειρών που επιστρέφει πολλές σειρές
- Υποερώτημα πολλαπλών στηλών που επιστρέφει πολλές στήλες στο κύριο ερώτημα. Με αυτό το αποτέλεσμα του δευτερεύοντος ερωτήματος, θα εκτελεστεί το κύριο ερώτημα.
9. Τι είναι ο παράγοντας διακομιστή SQL;
Ο παράγοντας SQL Server παίζει ζωτικό ρόλο στις καθημερινές εργασίες του διαχειριστή διακομιστή SQL (DBA). Ο σκοπός του διακομιστή είναι να υλοποιεί εύκολα τις εργασίες με τη μηχανή χρονοπρογραμματισμού που επιτρέπει στις εργασίες μας να εκτελούνται σε προγραμματισμένη ημερομηνία και ώρα.
10. Ποιες είναι οι προγραμματισμένες εργασίες στον SQL Server;
Οι προγραμματισμένες εργασίες ή εργασίες χρησιμοποιούνται για την αυτοματοποίηση διαδικασιών που μπορούν να εκτελεστούν σε προγραμματισμένη ώρα σε τακτά χρονικά διαστήματα. Αυτός ο προγραμματισμός των εργασιών συμβάλλει στη μείωση της ανθρώπινης παρέμβασης κατά τη διάρκεια της νύχτας και η τροφοδοσία μπορεί να γίνει σε μια συγκεκριμένη ώρα. Ο χρήστης μπορεί επίσης να παραγγείλει τις εργασίες στις οποίες πρέπει να δημιουργηθεί.
11. Τι είναι το COALESCE στον SQL Server;
COALESCE χρησιμοποιείται για την επιστροφή της πρώτης μη μηδενικής έκφρασης μέσα στα ορίσματα. Αυτή η συνάρτηση χρησιμοποιείται για να επιστρέψει ένα μη μηδενικό από περισσότερες από μία στήλες στα ορίσματα.
Παράδειγμα -
Select COALESCE(empno, empname, salary) from employee;
12. Πώς μπορούν να χειριστούν οι εξαιρέσεις στον προγραμματισμό του SQL Server;
Οι εξαιρέσεις αντιμετωπίζονται χρησιμοποιώντας κατασκευές TRY—-CATCH και χειρίζονται γράφοντας σενάρια μέσα στο μπλοκ TRY και χειρισμό σφαλμάτων στο μπλοκ CATCH.
13. Ποιος είναι ο σκοπός της συνάρτησης FLOOR;
Η συνάρτηση FLOOR χρησιμοποιείται για να στρογγυλοποιήσει μια μη ακέραια τιμή στον προηγούμενο ελάχιστο ακέραιο. Δίνεται παράδειγμα
FLOOR(6.7)
Επιστροφές 6.
14. Μπορούμε να ελέγξουμε τις κλειδαριές στη βάση δεδομένων; Εάν ναι, πώς μπορούμε να κάνουμε αυτόν τον έλεγχο κλειδαριάς;
Ναι, μπορούμε να ελέγξουμε τις κλειδαριές στη βάση δεδομένων. Μπορεί να επιτευχθεί χρησιμοποιώντας ενσωματωμένη αποθηκευμένη διαδικασία που ονομάζεται sp_lock.
15. Ποια είναι η χρήση της συνάρτησης SIGN;
Η συνάρτηση SIGN χρησιμοποιείται για να προσδιορίσει εάν ο αριθμός που καθορίζεται είναι Θετικός, Αρνητικός και Μηδέν. Αυτό θα επιστρέψει +1,-1 ή 0.
Παράδειγμα -
SIGN(-35) returns -1
16. Τι είναι το Trigger;
Οι ενεργοποιητές χρησιμοποιούνται για την εκτέλεση μιας παρτίδας κώδικα SQL όταν οι εντολές εισαγωγής ή ενημέρωσης ή διαγραφής εκτελούνται σε έναν πίνακα. Οι ενεργοποιήσεις ενεργοποιούνται ή εκτελούνται αυτόματα όταν τροποποιούνται τα δεδομένα. Μπορεί να εκτελεστεί αυτόματα κατά τις λειτουργίες εισαγωγής, διαγραφής και ενημέρωσης.
17. Ποιοι είναι οι τύποι των Triggers;
Υπάρχουν τέσσερις τύποι ενεργοποίησης και είναι:
- Κύριο θέμα
- Διαγραφή
- Ενημέρωση
- Αντί
18. Τι είναι η στήλη ΤΑΥΤΟΤΗΤΑ σε ένθετες δηλώσεις;
Η στήλη IDENTITY χρησιμοποιείται στις στήλες του πίνακα για να γίνει αυτή η στήλη ως αυτόματος αυξητικός αριθμός ή ως υποκατάστατο κλειδί.
19. Τι είναι το Bulkcopy στην SQL;
Το Bulkcopy είναι ένα εργαλείο που χρησιμοποιείται για την αντιγραφή μεγάλου όγκου δεδομένων από Πίνακες. Αυτό το εργαλείο χρησιμοποιείται για τη φόρτωση μεγάλου όγκου δεδομένων στον SQL Server.
20. Τι θα χρησιμοποιηθεί το ερώτημα για τη λήψη της λίστας των ενεργειών σε μια βάση δεδομένων;
Ερώτημα για να λάβετε τη λίστα των ενεργειών στη βάση δεδομένων-
Select * from sys.objects where type='tr'
21. Ποια είναι η διαφορά μεταξύ UNION και UNION ALL;
- UNION: Για την επιλογή σχετικών πληροφοριών από δύο πίνακες χρησιμοποιείται η εντολή UNION. Είναι παρόμοιο με την εντολή JOIN.
- UNION All: Η εντολή UNION ALL είναι ίση με την εντολή UNION, με τη διαφορά ότι η UNION ALL επιλέγει όλες τις τιμές. Δεν θα αφαιρέσει διπλότυπες σειρές, αντίθετα θα ανακτήσει όλες τις σειρές από όλους τους πίνακες.
22. Πώς αντιπροσωπεύονται οι παγκόσμιοι προσωρινοί πίνακες και το εύρος τους;
Οι καθολικοί προσωρινοί πίνακες αντιπροσωπεύονται με ## πριν από το όνομα του πίνακα. Το εύρος θα είναι το εξωτερικό της συνεδρίας ενώ οι τοπικοί προσωρινοί πίνακες βρίσκονται εντός της συνεδρίας. Το αναγνωριστικό συνεδρίας μπορεί να βρεθεί χρησιμοποιώντας το @@SPID.
Ερωτήσεις και απαντήσεις για τη συνέντευξη του SQL Server για έμπειρους
23. Ποιες είναι οι διαφορές μεταξύ της Αποθηκευμένης Διαδικασίας και της δυναμικής SQL;
Η Αποθηκευμένη Διαδικασία είναι ένα σύνολο εντολών που αποθηκεύεται σε μεταγλωττισμένη μορφή. Το Dynamic SQL είναι ένα σύνολο εντολών που κατασκευάζονται δυναμικά κατά το χρόνο εκτέλεσης και δεν θα αποθηκευτούν σε μια βάση δεδομένων και απλώς εκτελούνται κατά τη διάρκεια του χρόνου εκτέλεσης.
24. Τι είναι το Collation;
Η ταξινόμηση ορίζεται για να καθορίσει τη σειρά ταξινόμησης σε έναν πίνακα. Υπάρχουν τρεις τύποι σειράς ταξινόμησης –
- Χαρακτηριστικά πεζών
- Χωρίς διάκριση πεζών-κεφαλαίων
- Binary
25. Πώς μπορούμε να μετρήσουμε τον αριθμό των εγγραφών σε έναν πίνακα;
Ακολουθούν τα ερωτήματα που μπορούν να χρησιμοποιηθούν για να λάβετε τον αριθμό των εγγραφών σε έναν πίνακα –
Select * from <tablename> Select count(*) from <tablename> Select rows from sysindexes where id=OBJECT_ID(tablename) and indid<2
26. Ποια είναι η εντολή που χρησιμοποιείται για τη λήψη της έκδοσης του SQL Server;
Select SERVERPROPERTY('productversion')
χρησιμοποιείται για τη λήψη της έκδοσης του SQL Server.
27. Τι είναι η εντολή UPDATE_STATISTICS;
Η εντολή UPDATE_STATISTICS χρησιμοποιείται για την ενημέρωση των ευρετηρίων στους πίνακες όταν υπάρχει μεγάλος αριθμός διαγραφών ή τροποποιήσεων ή μαζικής αντιγραφής σε ευρετήρια.
28. Ποια είναι η χρήση της δήλωσης SET NOCOUNT ON/OFF;
Από προεπιλογή, το NOCOUNT έχει οριστεί σε OFF και επιστρέφει τον αριθμό των εγγραφών που επηρεάστηκαν κάθε φορά που εκτελείται η εντολή. Εάν ο χρήστης δεν θέλει να εμφανίσει τον αριθμό των εγγραφών που επηρεάζονται, μπορεί να οριστεί ρητά σε ON- (SET NOCOUNT ON).
29. Ποιος πίνακας διακομιστή SQL χρησιμοποιείται για τη διατήρηση των αποθηκευμένων σεναρίων διαδικασίας;
Το Sys.SQL_Modules είναι ένας πίνακας SQL Server που χρησιμοποιείται για την αποθήκευση του σεναρίου της αποθηκευμένης διαδικασίας. Το όνομα της αποθηκευμένης διαδικασίας αποθηκεύεται στον πίνακα που ονομάζεται Sys.Procedures.
30. Τι είναι οι μαγικοί πίνακες στον SQL Server;
Κατά τη διάρκεια λειτουργιών DML όπως Εισαγωγή, Διαγραφή και Ενημέρωση, ο SQL Server δημιουργεί μαγικούς πίνακες για να διατηρεί τις τιμές κατά τη διάρκεια των λειτουργιών DML. Αυτοί οι μαγικοί πίνακες χρησιμοποιούνται μέσα στα εναύσματα για συναλλαγή δεδομένων.
31. Ποια είναι η διαφορά μεταξύ SUBSTR και CHARINDEX στον SQL Server;
Η συνάρτηση SUBSTR χρησιμοποιείται για την επιστροφή συγκεκριμένου τμήματος συμβολοσειράς σε μια δεδομένη συμβολοσειρά. Όμως, η συνάρτηση CHARINDEX δίνει θέση χαρακτήρων σε μια δεδομένη καθορισμένη συμβολοσειρά.
SUBSTRING('Smiley',1,3)
Δίνει αποτέλεσμα ως Smi
CHARINDEX('i', 'Smiley',1)
Δίνει το 3 ως αποτέλεσμα όπως εμφανίζεται στο 3rd θέση της χορδής
32. Πώς μπορείτε να δημιουργήσετε μια σύνδεση;
Μπορείτε να χρησιμοποιήσετε την ακόλουθη εντολή για να δημιουργήσετε μια σύνδεση
CREATE LOGIN MyLogin WITH PASSWORD = '123';
33. Τι είναι ο τελεστής ISNULL();
Η συνάρτηση ISNULL χρησιμοποιείται για να ελέγξει εάν η τιμή που δίνεται είναι NULL ή όχι NULL στον διακομιστή sql. Αυτή η συνάρτηση παρέχει επίσης την αντικατάσταση μιας τιμής με το NULL.
34. Ποια είναι η χρήση της ρήτρας FOR;
Η ρήτρα FOR χρησιμοποιείται κυρίως για XML και επιλογές προγράμματος περιήγησης. Αυτή η ρήτρα χρησιμοποιείται κυρίως για την εμφάνιση των αποτελεσμάτων του ερωτήματος σε μορφή XML ή σε πρόγραμμα περιήγησης.
35. Ποιος θα είναι ο μέγιστος αριθμός ευρετηρίου ανά πίνακα;
Για τον SQL Server 2008, το 100 Index μπορεί να χρησιμοποιηθεί ως μέγιστος αριθμός ανά πίνακα. 1 Clustered Index και 999 μη συμπλεγματοποιημένα ευρετήρια ανά πίνακα μπορούν να χρησιμοποιηθούν στον SQL Server.
Το 1000 Index μπορεί να χρησιμοποιηθεί ως μέγιστος αριθμός ανά πίνακα. 1 Clustered Index και 999 μη συμπλεγματοποιημένα ευρετήρια ανά πίνακα μπορούν να χρησιμοποιηθούν στον SQL Server.
1 Clustered Index και 999 μη συμπλεγματοποιημένα ευρετήρια ανά πίνακα μπορούν να χρησιμοποιηθούν στον SQL Server.
36. Ποια είναι η διαφορά μεταξύ COMMIT και ROLLBACK;
Κάθε δήλωση μεταξύ BEGIN και COMMIT γίνεται επίμονη στη βάση δεδομένων όταν εκτελείται το COMMIT. Κάθε πρόταση μεταξύ BEGIN και ROOLBACK επανέρχεται στην κατάσταση κατά την εκτέλεση του ROLLBACK.
37. Ποια είναι η διαφορά μεταξύ των τύπων varchar και nvarchar;
Το Varchar και το nvarchar είναι το ίδιο, αλλά η μόνη διαφορά είναι ότι το nvarhcar μπορεί να χρησιμοποιηθεί για την αποθήκευση χαρακτήρων Unicode για πολλές γλώσσες και επίσης παίρνει περισσότερο χώρο σε σύγκριση με το varchar.
38. Ποια είναι η χρήση του @@SPID;
Ένα @@SPID επιστρέφει το αναγνωριστικό περιόδου σύνδεσης της τρέχουσας διαδικασίας χρήστη.
39. Ποια είναι η εντολή που χρησιμοποιείται για την εκ νέου μεταγλώττιση της αποθηκευμένης διαδικασίας κατά το χρόνο εκτέλεσης;
Η Αποθηκευμένη Διαδικασία μπορεί να εκτελεστεί με τη βοήθεια της λέξης-κλειδιού που ονομάζεται RECOMPILE.
Παράδειγμα
Exe <SPName> WITH RECOMPILE
Ή μπορούμε να συμπεριλάβουμε το WITHRECOMPILE στην ίδια την αποθηκευμένη διαδικασία.
40. Πώς να διαγράψετε διπλότυπες σειρές στον SQL Server;
Οι διπλότυπες σειρές μπορούν να διαγραφούν χρησιμοποιώντας τη δυνατότητα CTE και ROW NUMER του SQL Server.
41. Πού αποθηκεύονται τα ονόματα χρήστη και οι κωδικοί πρόσβασης του SQL Server στον SQL Server;
Τα ονόματα χρήστη και οι κωδικοί πρόσβασης αποθηκεύονται στα sys.server_principals και sys.sql_logins. Αλλά οι κωδικοί πρόσβασης δεν αποθηκεύονται σε κανονικό κείμενο.
42. Ποια είναι η διαφορά μεταξύ GETDATE και SYSDATETIME;
Και τα δύο είναι ίδια, αλλά το GETDATE μπορεί να δώσει χρόνο έως και χιλιοστά του δευτερολέπτου και το SYSDATETIME μπορεί να δώσει ακρίβεια μέχρι νανοδευτερόλεπτα. Το SYSDATE TIME είναι πιο ακριβές από το GETDATE.
43. Πώς μπορούν να αντιγραφούν δεδομένα από έναν πίνακα σε έναν άλλο πίνακα;
INSERT INTO SELECT
Αυτή η εντολή χρησιμοποιείται για την εισαγωγή δεδομένων σε έναν πίνακα που έχει ήδη δημιουργηθεί.
SELECT INTO
Αυτή η εντολή χρησιμοποιείται για τη δημιουργία ενός νέου πίνακα και η δομή και τα δεδομένα του μπορούν να αντιγραφούν από τον υπάρχοντα πίνακα.
44. Τι είναι το TABLESAMPLE;
Το TABLESAMPLE χρησιμοποιείται για την εξαγωγή δείγματος σειρών τυχαία που είναι όλες απαραίτητες για την εφαρμογή. Οι δειγματοληπτικές σειρές που λαμβάνονται βασίζονται στο ποσοστό των σειρών.
45. Ποια εντολή χρησιμοποιείται για μηνύματα λάθους που ορίζονται από το χρήστη;
Το RAISEERROR είναι η εντολή που χρησιμοποιείται για τη δημιουργία και την εκκίνηση της επεξεργασίας σφαλμάτων για μια δεδομένη συνεδρία. Αυτά τα μηνύματα που ορίζονται από το χρήστη αποθηκεύονται στον πίνακα sys.messages.
46. Τι σημαίνει με τον όρο XML Datatype;
Ο τύπος δεδομένων XML χρησιμοποιείται για την αποθήκευση εγγράφων XML στο Βάση δεδομένων του SQL Server. Δημιουργούνται στήλες και μεταβλητές και αποθηκεύουν παρουσίες XML στη βάση δεδομένων.
47. Τι είναι το CDC;
Το CDC συντομεύεται ως Change Data Capture, το οποίο χρησιμοποιείται για την καταγραφή των δεδομένων που έχουν αλλάξει πρόσφατα. Αυτή η δυνατότητα υπάρχει στον SQL Server 2008.
48. Τι είναι η ένεση SQL;
Η έγχυση SQL είναι μια επίθεση από κακόβουλους χρήστες στην οποία μπορεί να εισαχθεί κακόβουλος κώδικας σε συμβολοσειρές που μπορούν να περάσουν σε μια παρουσία του διακομιστή SQL για ανάλυση και εκτέλεση. Όλες οι δηλώσεις πρέπει να ελέγχονται για τρωτά σημεία καθώς εκτελεί όλα τα συντακτικά έγκυρα ερωτήματα που λαμβάνει.
Ακόμη και οι παράμετροι μπορούν να χειραγωγηθούν από έμπειρους και έμπειρους επιτιθέμενους.
49. Ποιες είναι οι μέθοδοι που χρησιμοποιούνται για την προστασία από την επίθεση SQL injection;
Ακολουθούν οι μέθοδοι που χρησιμοποιούνται για την προστασία από την επίθεση SQL injection:
- Χρήση παραμέτρων για αποθηκευμένες διαδικασίες
- Φιλτράρισμα παραμέτρων εισόδου
- Χρησιμοποιήστε τη συλλογή παραμέτρων με Dynamic SQL
- Σε παρόμοια ρήτρα, χαρακτήρες διαφυγής χρήστη
50. Τι είναι το Filtered Index;
Το φιλτραρισμένο ευρετήριο χρησιμοποιείται για το φιλτράρισμα ορισμένων τμημάτων σειρών σε έναν πίνακα για τη βελτίωση της απόδοσης ερωτημάτων, τη συντήρηση του ευρετηρίου και τη μείωση του κόστους αποθήκευσης ευρετηρίου. Όταν το ευρετήριο δημιουργείται με τον όρο WHERE, τότε ονομάζεται Φιλτραρισμένο ευρετήριο.
Αυτές οι ερωτήσεις συνέντευξης θα βοηθήσουν επίσης στο viva (προφορικά) σας

