Περιήγηση στην Access μέσω του SQL Server
Applies ToAccess για Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Μετά τη μετεγκατάσταση των δεδομένων σας από την Access στον SQL Server, έχετε τώρα μια βάση δεδομένων προγράμματος-πελάτη/διακομιστή, η οποία μπορεί να είναι μια λύση εσωτερικής εγκατάστασης ή μια υβριδική λύση cloud του Azure. Σε κάθε περίπτωση, η Access είναι τώρα το επίπεδο παρουσίασης και ο SQL Server είναι το επίπεδο δεδομένων. Τώρα είναι η κατάλληλη στιγμή για να σκεφτείτε ξανά τις πτυχές της λύσης σας, ιδίως την απόδοση των ερωτημάτων, την ασφάλεια και την αδιάκοπη παροχή υπηρεσιών, έτσι ώστε να μπορείτε να βελτιώσετε και να κλιμακώσετε τη λύση βάσης δεδομένων σας.

Η Access στην εσωτερική εγκατάσταση και στο cloud

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

Σε αυτό το άρθρο

Διαχείριση βάσεων δεδομένων

Εξασφάλιση συνεχούς λειτουργίας της επιχείρησης

Ασφάλεια του SQL Server

Διαχείριση ζητημάτων προστασίας προσωπικών δεδομένων

Δημιουργία στιγμιοτύπων βάσης δεδομένων

Έλεγχος ταυτόχρονης εκτέλεσης

Ερωτήματα και συναφή

Βελτίωση απόδοσης ερωτημάτων

Τρόποι υποβολής ερωτημάτων

Προσθήκη κλειδιών και ευρετηρίων

Εκτέλεση συναλλαγών

Χρήση περιορισμών και εναυσμάτων

Τύποι δεδομένων

Χρήση υπολογιζόμενων στηλών

Χρονική σήμανση των δεδομένων σας

Διαχείριση μεγάλων αντικειμένων

Άλλα στοιχεία

Εργασία με ιεραρχικά δεδομένα

Χειρισμός κειμένου JSON

Πόροι

Εξασφάλιση συνεχούς λειτουργίας της επιχείρησης

Έχετε μια λύση Access που θέλετε να διατηρείτε σε λειτουργία με ελάχιστες διακοπές, ωστόσο οι επιλογές σας όσον αφορά μια βάση δεδομένων παρασκηνίου της Access είναι περιορισμένες. Η δημιουργία αντιγράφων ασφαλείας για τη βάση δεδομένων της Access είναι απαραίτητη για την προστασία των δεδομένων σας, ωστόσο απαιτεί να θέτετε τους χρήστες σας εκτός σύνδεσης. Επίσης, υπάρχει μη προγραμματισμένος χρόνος εκτός λειτουργίας που προκαλείται από αναβαθμίσεις συντήρησης υλικού/λογισμικού, διακοπές δικτύου ή ρεύματος, αστοχία υλικού, παραβιάσεις ασφαλείας ή ακόμη και επιθέσεις στον κυβερνοχώρο. Για να ελαχιστοποιήσετε τις διακοπές λειτουργίας και τις επιπτώσεις για την επιχείρησή σας, μπορείτε να δημιουργήσετε αντίγραφα ασφαλείας για μια βάση δεδομένων του SQL Server ενώ βρίσκεται σε λειτουργία. Επιπλέον, ο SQL Server προσφέρει επίσης στρατηγικές υψηλής διαθεσιμότητας (HA) και αποκατάστασης καταστροφής (DR). Αυτές οι δύο συνδυασμένες τεχνολογίες ονομάζονται HADR. Για περισσότερες πληροφορίες, ανατρέξτε στα θέματα Συνεχής λειτουργία της επιχείρησης και αποκατάσταση βάσης δεδομένων και Εξασφάλιση συνεχούς λειτουργίας της επιχείρησης με τον SQL Server (ηλεκτρονικό βιβλίο).

Δημιουργία αντιγράφων ασφαλείας κατά τη χρήση

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

Οι περισσότερες λειτουργίες δημιουργίας αντιγράφων ασφαλείας πραγματοποιούνται αμέσως, εκτός από τις λειτουργίες διαχείρισης αρχείων και συρρίκνωσης βάσεων δεδομένων. Αντίθετα, εάν προσπαθήσετε να δημιουργήσετε ή να διαγράψετε ένα αρχείο βάσης δεδομένων ενώ βρίσκεται σε εξέλιξη μια λειτουργία δημιουργίας αντιγράφων ασφαλείας, η λειτουργία αποτυγχάνει. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Επισκόπηση αντιγράφων ασφαλείας.

HADR

Οι δύο πιο συνηθισμένες τεχνικές για την επίτευξη υψηλής διαθεσιμότητας και συνεχούς λειτουργίας της επιχείρησης είναι ο κατοπτρισμός και η δημιουργία συμπλέγματος. Ο SQL Server ενοποιεί την τεχνολογία κατοπτρισμού και δημιουργίας συμπλέγματος με τις "Πάντα ενεργοποιημένες παρουσίες συμπλέγματος ανακατεύθυνσης" και τις "Πάντα ενεργοποιημένες ομάδες διαθεσιμότητας".

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

Η χρήση συμπλέγματος είναι μια λύση επιπέδου διακομιστή που συνδυάζει διακομιστές σε έναν μόνο χώρο αποθήκευσης δεδομένων που μοιάζει στον χρήστη σαν μια ενιαία παρουσία. Οι χρήστες συνδέονται με την παρουσία και δεν χρειάζεται ποτέ να γνωρίζουν ποιος διακομιστής της παρουσίας είναι ενεργός τη συγκεκριμένη στιγμή. Εάν ένας διακομιστής αποτύχει ή τεθεί εκτός σύνδεσης για συντήρηση, η εμπειρία χρήστη δεν αλλάζει. Κάθε διακομιστής του συμπλέγματος παρακολουθείται από τη διαχείριση συμπλέγματος με χρήση ενός παλμού, έτσι ώστε να εντοπίζει πότε αποσυνδέεται ο ενεργός διακομιστής στο σύμπλεγμα, και επιχειρεί να μεταβεί απρόσκοπτα στον επόμενο διακομιστή του συμπλέγματος, αν και υπάρχει μια μεταβλητή χρονική καθυστέρηση κατά τη διαδικασία μετάβασης.

Για περισσότερες πληροφορίες, ανατρέξτε στα θέματα Πάντα ενεργοποιημένες παρουσίες συμπλέγματος ανακατεύθυνσης και Πάντα ενεργοποιημένες ομάδες διαθεσιμότητας: Μια λύση υψηλής διαθεσιμότητας και αποκατάστασης καταστροφών.

Αρχή της σελίδας

Ασφάλεια του SQL Server

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

Έλεγχος ταυτότητας βάσης δεδομένων

Υπάρχουν τέσσερις μέθοδοι ελέγχου ταυτότητας βάσης δεδομένων στον SQL Server, καθεμία από τις οποίες μπορείτε να καθορίσετε σε μια συμβολοσειρά σύνδεσης ODBC. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Σύνδεση σε δεδομένα ή εισαγωγή δεδομένων από μια βάση δεδομένων Azure SQL Server. Κάθε μέθοδος έχει τα δικά της πλεονεκτήματα.

Ενσωματωμένος έλεγχος ταυτότητας των Windows    Χρησιμοποιήστε τα διαπιστευτήρια των Windows για την επικύρωση χρήστη, τους ρόλους ασφαλείας και τον περιορισμό των χρηστών σε δυνατότητες και δεδομένα. Μπορείτε να αξιοποιήσετε τα διαπιστευτήρια τομέα και να διαχειριστείτε εύκολα τα δικαιώματα χρήστη στην εφαρμογή σας. Προαιρετικά, πληκτρολογήστε ένα Κύριο όνομα υπηρεσίας (SPN). Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Επιλογή λειτουργίας ελέγχου ταυτότητας.

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

Ενσωματωμένος έλεγχος ταυτότητας του Azure Active Directory    Συνδεθείτε στη βάση δεδομένων Azure SQL Server, χρησιμοποιώντας την υπηρεσία Azure Active Directory. Αφού ρυθμίσετε τις παραμέτρους του ελέγχου ταυτότητας του Azure Active Directory, δεν απαιτείται επιπλέον σύνδεση και ο κωδικός πρόσβασης. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Σύνδεση σε βάση δεδομένων SQL με χρήση του ελέγχου ταυτότητας Azure Active Directory.

Έλεγχος ταυτότητας με κωδικό πρόσβασης της υπηρεσίας καταλόγου Active Directory    Συνδεθείτε με τα διαπιστευτήρια που έχουν ρυθμιστεί στο Azure Active Directory, πληκτρολογώντας το όνομα σύνδεσης και τον κωδικό πρόσβασης. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Σύνδεση σε βάση δεδομένων SQL με χρήση του ελέγχου ταυτότητας Azure Active Directory.

Συμβουλή    Χρησιμοποιήστε τη δυνατότητα "Εντοπισμός απειλών" για να λαμβάνετε ειδοποιήσεις για ασυνήθιστη δραστηριότητα στη βάση δεδομένων που υποδεικνύει πιθανές απειλές για την ασφάλεια σε μια βάση δεδομένων Azure SQL Server. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Εντοπισμός απειλών της βάσης δεδομένων SQL.

Ασφάλεια εφαρμογών

Ο SQL Server έχει δύο δυνατότητες ασφαλείας επιπέδου εφαρμογής που μπορείτε να εκμεταλλευτείτε με την Access.

Δυναμική απόκρυψη δεδομένων    Αποκρύψτε τυχόν ευαίσθητες πληροφορίες από χρήστες που δεν έχουν δικαιώματα. Για παράδειγμα, μπορείτε να αποκρύψετε τους αριθμούς κοινωνικής ασφάλισης, είτε εν μέρει είτε εξ ολοκλήρου.

Μια μερική απόκρυψη δεδομένων

Μια μερική απόκρυψη δεδομένων

Μια πλήρης απόκρυψη δεδομένων

Μια πλήρης απόκρυψη δεδομένων

Υπάρχουν διάφοροι τρόποι με τους οποίους μπορείτε να ορίσετε μια απόκρυψη δεδομένων και μπορείτε να τους εφαρμόσετε σε διάφορους τύπους δεδομένων. Η απόκρυψη δεδομένων βασίζεται σε πολιτική επιπέδου πίνακα και στήλης για ένα καθορισμένο σύνολο χρηστών και εφαρμόζεται σε πραγματικό χρόνο στο ερώτημα. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Δυναμική απόκρυψη δεδομένων.

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

Ασφάλεια σε επίπεδο γραμμών του SQL Server

Υπάρχουν δύο τύποι κατηγορημάτων ασφαλείας:

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

  • Τα κατηγορήματα αποκλεισμού αποκλείουν τυχόν μη εξουσιοδοτημένες ενέργειες και δημιουργούν μια εξαίρεση, εάν δεν είναι δυνατή η εκτέλεση της ενέργειας.

Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Ασφάλεια σε επίπεδο γραμμών.

Προστασία δεδομένων με κρυπτογράφηση

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

Κρυπτογράφηση σε κατάσταση αδράνειας    Για να ασφαλίσετε τα προσωπικά σας δεδομένα από επιθέσεις μέσων εκτός σύνδεσης σε επίπεδο φυσικής αποθήκευσης, χρησιμοποιήστε την κρυπτογράφηση σε κατάσταση αδράνειας, που ονομάζεται επίσης Διαφανής κρυπτογράφηση δεδομένων (TDE). Αυτό σημαίνει ότι τα δεδομένα σας προστατεύονται ακόμα και αν τα φυσικά μέσα έχουν κλαπεί ή δεν έχουν απορριφθεί σωστά. Η TDE εκτελεί κρυπτογράφηση και αποκρυπτογράφηση σε πραγματικό χρόνο των βάσεων δεδομένων, των αντιγράφων ασφαλείας και των αρχείων καταγραφής συναλλαγών, χωρίς να χρειάζεται να αλλάξετε τις εφαρμογές σας.

Κρυπτογράφηση κατά τη μεταφορά    Για να προστατευτείτε από κατασκοπεία και από "επιθέσεις ενδιάμεσων ατόμων", μπορείτε να κρυπτογραφήσετε δεδομένα που έχουν μεταδοθεί μέσω δικτύου. Ο SQL Server υποστηρίζει την Ασφάλεια επιπέδου μεταφοράς (TLS) 1.2 για εξαιρετικά ασφαλείς επικοινωνίες. Το πρωτόκολλο ροής δεδομένων σε μορφή πίνακα (TDS) χρησιμοποιείται επίσης για την προστασία των επικοινωνιών σε μη αξιόπιστα δίκτυα.

Κρυπτογράφηση κατά τη χρήση στο πρόγραμμα-πελάτη    Για την προστασία των προσωπικών δεδομένων κατά τη χρήση τους, η δυνατότητα "Always Encrypted" είναι η επιλογή που θέλετε. Τα προσωπικά δεδομένα κρυπτογραφούνται και αποκρυπτογραφούνται από ένα πρόγραμμα οδήγησης στον υπολογιστή-πελάτη χωρίς να αποκαλύπτονται τα κλειδιά κρυπτογράφησης στον μηχανισμό βάσης δεδομένων. Κατά συνέπεια, τα κρυπτογραφημένα δεδομένα είναι ορατά μόνο για τα άτομα που είναι υπεύθυνα για τη διαχείρισή τους και όχι για τους άλλους χρήστες με ιδιαίτερα δικαιώματα, οι οποίοι δεν θα πρέπει να έχουν πρόσβαση. Ανάλογα με τον τύπο της επιλεγμένης κρυπτογράφησης, η δυνατότητα Always Encrypted μπορεί να περιορίσει ορισμένες λειτουργίες βάσης δεδομένων, όπως η αναζήτηση, η ομαδοποίηση και η δημιουργία ευρετηρίου κρυπτογραφημένων στηλών.

Αρχή της σελίδας

Διαχείριση ζητημάτων προστασίας προσωπικών δεδομένων

Τα ζητήματα που αφορούν την προστασία των προσωπικών δεδομένων είναι τόσο διαδεδομένα ώστε η Ευρωπαϊκή Ένωση έχει ορίσει νομικές απαιτήσεις μέσω του Γενικού κανονισμού για την προστασία δεδομένων (ΓΚΠΔ). Ευτυχώς, το υπόβαθρο του SQL Server είναι επαρκές για να ανταποκριθεί σε αυτές τις απαιτήσεις. Σκεφτείτε την εφαρμογή του ΓΚΠΔ σε ένα πλαίσιο τριών βημάτων.

O ΓΚΠΔ είναι μια διαδικασία τριών βημάτων.

Βήμα 1: Εκτίμηση και διαχείριση του κινδύνου συμμόρφωσης

Ο ΓΚΠΔ απαιτεί την αναγνώριση και απογραφή των προσωπικών πληροφοριών που έχετε σε πίνακες και αρχεία. Οι πληροφορίες αυτές μπορεί να είναι οτιδήποτε από ένα όνομα, μια φωτογραφία, μια διεύθυνση ηλεκτρονικού ταχυδρομείου, στοιχεία τραπεζικού λογαριασμού, δημοσιεύσεις σε τοποθεσίες Web κοινωνικής δικτύωσης, ιατρικές πληροφορίες ή ακόμη και μια διεύθυνση IP.

Ένα νέο εργαλείο με την ονομασία Εντοπισμός και ταξινόμηση δεδομένων SQL, που είναι ενσωματωμένο στο SQL Server Management Studio, σας βοηθά να ανακαλύψετε, να ταξινομήσετε, να επισημάνετε με ετικέτες και να αναφέρετε ευαίσθητα δεδομένα, εφαρμόζοντας δύο χαρακτηριστικά μετα-δεδομένων σε στήλες:

  • Ετικέτες    Για να ορίσετε τον βαθμό ευαισθησίας των δεδομένων.

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

Ένας άλλος μηχανισμός εντοπισμού που μπορείτε να χρησιμοποιήσετε είναι η αναζήτηση πλήρους κειμένου, η οποία περιλαμβάνει τη χρήση των κατηγορημάτων CONTAINS και FREETEXT και τις συναρτήσεις που λαμβάνουν τιμές από σύνολο γραμμών, όπως οι CONTAINSTABLE και FREETEXTTABLE, για χρήση με την πρόταση SELECT. Χρησιμοποιώντας την αναζήτηση πλήρους κειμένου, μπορείτε να αναζητήσετε πίνακες για να ανακαλύψετε λέξεις, συνδυασμούς λέξεων ή παραλλαγές μιας λέξης, όπως συνώνυμα ή κλιτικές μορφές. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Αναζήτηση πλήρους κειμένου.

Βήμα 2: Προστασία προσωπικών πληροφοριών

Ο ΓΚΠΔ απαιτεί να προστατεύετε τις προσωπικές πληροφορίες και να περιορίζετε την πρόσβαση σε αυτές. Εκτός από τα τυπικά βήματα που θα ακολουθήσετε για τη διαχείριση της πρόσβασης στο δίκτυο και τους πόρους σας, όπως οι ρυθμίσεις τείχους προστασίας, μπορείτε να χρησιμοποιήσετε τις δυνατότητες ασφαλείας του SQL Server για να σας βοηθήσουν να ελέγχετε την πρόσβαση στα δεδομένα:

  • Έλεγχος ταυτότητας SQL Server για τη διαχείριση της ταυτότητας χρήστη και την αποτροπή μη εξουσιοδοτημένης πρόσβασης.

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

  • Δυναμική απόκρυψη δεδομένων για τον περιορισμό της έκθεσης των προσωπικών δεδομένων, συγκαλύπτοντάς τα από μη προνομιούχους χρήστες.

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

Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Ασφάλεια του SQL Server.

Βήμα 3: Αποτελεσματική απόκριση σε αιτήσεις

Ο ΓΚΠΔ απαιτεί να διατηρείτε αρχεία επεξεργασίας δεδομένων προσωπικού χαρακτήρα και να κάνετε αυτά τα αρχεία διαθέσιμα στις εποπτικές αρχές, κατόπιν αιτήματος. Εάν προκύψουν προβλήματα, όπως η ακούσια κυκλοφορία δεδομένων, τα στοιχεία ελέγχου προστασίας σάς επιτρέπουν να ανταποκριθείτε γρήγορα. Τα δεδομένα πρέπει να είναι γρήγορα διαθέσιμα όταν απαιτείται αναφορά. Για παράδειγμα, ο ΓΚΠΔ απαιτεί την αναφορά στην εποπτική αρχή μιας παραβίασης προσωπικών δεδομένων "το αργότερο 72 ώρες μετά τη διαπίστωσή της".

Ο SQL Server 2017 σάς βοηθά με την αναφορά εργασιών με διάφορους τρόπους:

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

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

  • Η εκτίμηση ευπαθειών SQL σάς βοηθά να εντοπίζετε θέματα ασφάλειας και δικαιωμάτων. Όταν εντοπιστεί κάποιο ζήτημα, μπορείτε επίσης να κάνετε διερεύνηση των αναφορών σάρωσης βάσεων δεδομένων για να βρείτε ενέργειες για την επίλυσή του.

Για περισσότερες πληροφορίες, ανατρέξτε στα θέματα Δημιουργία πλατφόρμας αξιοπιστίας (ηλεκτρονικό βιβλίο) και Ταξίδι στη συμμόρφωση με τον κανονισμό ΓΚΠΔ.

Αρχή της σελίδας

Δημιουργία στιγμιοτύπων βάσης δεδομένων

Ένα στιγμιότυπο βάσης δεδομένων είναι μια στατική προβολή μόνο για ανάγνωση μιας βάσης δεδομένων SQL Server σε ένα χρονικό σημείο. Παρόλο που μπορείτε να αντιγράψετε ένα αρχείο βάσης δεδομένων της Access για να δημιουργήσετε αποτελεσματικά ένα στιγμιότυπο βάσης δεδομένων, η Access δεν διαθέτει ενσωματωμένη μεθοδολογία όπως ο SQL Server. Μπορείτε να χρησιμοποιήσετε ένα στιγμιότυπο βάσης δεδομένων για τη σύνταξη αναφορών με βάση τα δεδομένα κατά τη στιγμή της δημιουργίας του στιγμιότυπου βάσης δεδομένων. Μπορείτε επίσης να χρησιμοποιήσετε ένα στιγμιότυπο βάσης δεδομένων για να διατηρήσετε τα δεδομένα ιστορικού, όπως ένα για κάθε οικονομικό τρίμηνο που χρησιμοποιείτε για να συναθροίσετε τις αναφορές τέλους περιόδου. Συνιστούμε τις ακόλουθες βέλτιστες πρακτικές:

  • Ονομάστε το στιγμιότυπο    Κάθε στιγμιότυπο βάσης δεδομένων απαιτεί ένα μοναδικό όνομα βάσης δεδομένων. Προσθέστε τον σκοπό και το χρονικό πλαίσιο στο όνομα για ευκολότερη αναγνώριση. Για παράδειγμα, για να δημιουργήσετε στιγμιότυπο της βάσης δεδομένων AdventureWorks τρεις φορές την ημέρα σε διαστήματα 6 ωρών μεταξύ 6 Π.Μ. και 6 Μ.Μ. με βάση την 24-ωρη μορφή ώρας, ονομάστε τα AdventureWorks_snapshot_0600, AdventureWorks_snapshot_1200 και AdventureWorks_snapshot_1800.

  • Περιορισμός του αριθμού των στιγμιοτύπων    Κάθε στιγμιότυπο βάσης δεδομένων παραμένει μέχρι να καταργηθεί ρητά. Επειδή κάθε στιγμιότυπο θα συνεχίσει να αναπτύσσεται, μπορεί να θέλετε να εξοικονομήσετε χώρο στον δίσκο, διαγράφοντας ένα παλαιότερο στιγμιότυπο μετά τη δημιουργία ενός νέου στιγμιότυπου. Για παράδειγμα, εάν πραγματοποιείτε ημερήσιες αναφορές, διατηρήστε το στιγμιότυπο της βάσης δεδομένων για 24 ώρες και, στη συνέχεια, καταργήστε το και αντικαταστήστε το με ένα νέο.

  • Σύνδεση με το σωστό στιγμιότυπο    Για να χρησιμοποιήσει ένα στιγμιότυπο βάσης δεδομένων, η εφαρμογή προσκηνίου της Access πρέπει να γνωρίζει τη σωστή θέση. Όταν αντικαθιστάτε ένα νέο στιγμιότυπο με ένα υπάρχον, πρέπει να ανακατευθύνετε την Access στο νέο στιγμιότυπο. Προσθέστε λογική στο προσκήνιο της Access για να βεβαιωθείτε ότι συνδέεστε στο σωστό στιγμιότυπο της βάσης δεδομένων.

Δείτε πώς μπορείτε να δημιουργήσετε ένα στιγμιότυπο βάσης δεδομένων:

CREATE DATABASE AdventureWorks_dbss1800 ON  
( NAME = AdventureWorks_Data, FILENAME =   
'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data\AdventureWorks_snapshot_0600' )  
AS SNAPSHOT OF AdventureWorks;  

Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Στιγμιότυπα βάσεων δεδομένων του SQL Server.

Αρχή της σελίδας

Έλεγχος ταυτόχρονης εκτέλεσης

Όταν πολλά άτομα επιχειρούν να τροποποιήσουν δεδομένα σε μια βάση δεδομένων ταυτόχρονα, απαιτείται ένα σύστημα ελέγχου, έτσι ώστε οι τροποποιήσεις που πραγματοποιούνται από ένα άτομο να μην επηρεάζουν αρνητικά τα στοιχεία κάποιου άλλου ατόμου. Αυτό ονομάζεται έλεγχος ταυτόχρονης εκτέλεσης και υπάρχουν δύο βασικές στρατηγικές κλειδώματος, οι απαισιόδοξες και οι αισιόδοξες. Το κλείδωμα μπορεί να εμποδίσει τους χρήστες να τροποποιήσουν δεδομένα με τρόπο που επηρεάζει άλλους χρήστες. Το κλείδωμα σάς βοηθά επίσης να διασφαλίσετε την ακεραιότητα των βάσεων δεδομένων, ειδικά με ερωτήματα που διαφορετικά θα μπορούσαν να παράγουν απροσδόκητα αποτελέσματα. Υπάρχουν σημαντικές διαφορές στον τρόπο με τον οποίο η Access και ο SQL Server υλοποιούν αυτές τις στρατηγικές ελέγχου ταυτόχρονης εκτέλεσης.

Στην Access, η προεπιλεγμένη στρατηγική κλειδώματος είναι η αισιόδοξη και παραχωρεί την κυριότητα του κλειδώματος στο πρώτο άτομο που επιχειρεί να γράψει σε μια εγγραφή. Η Access εμφανίζει το παράθυρο διαλόγου Διένεξη εγγραφής στο άλλο άτομο που προσπαθεί να γράψει στην ίδια εγγραφή την ίδια στιγμή. Για να επιλυθεί η διένεξη, το άλλο άτομο μπορεί να αποθηκεύσει την εγγραφή, να την αντιγράψει στο Πρόχειρο ή να καταργήσει τις αλλαγές.

Μπορείτε επίσης να χρησιμοποιήσετε την ιδιότητα RecordLocks για να αλλάξετε τη στρατηγική ελέγχου ταυτόχρονης εκτέλεσης. Αυτή η ιδιότητα επηρεάζει φόρμες, αναφορές και ερωτήματα και έχει τρεις ρυθμίσεις:

  • Χωρίς κλειδώματα    Σε μια φόρμα, οι χρήστες μπορούν να επιχειρούν να επεξεργαστούν την ίδια εγγραφή ταυτόχρονα, όμως, ενδέχεται να εμφανιστεί το παράθυρο διαλόγου Διένεξη εγγραφής. Σε μια αναφορά, οι εγγραφές δεν κλειδώνονται κατά την προεπισκόπηση ή την εκτύπωση της αναφοράς. Σε ένα ερώτημα, οι εγγραφές δεν κλειδώνονται κατά την εκτέλεση του ερωτήματος. Αυτός είναι ο τρόπος με τον οποίο η Access εφαρμόζει το αισιόδοξο κλείδωμα.

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

  • Τροποποιημένη εγγραφή    Όσον αφορά τις φόρμες και τα ερωτήματα, μια σελίδα εγγραφών κλειδώνει μόλις ένας χρήστης αρχίσει να επεξεργάζεται οποιοδήποτε πεδίο στην εγγραφή και παραμένει κλειδωμένη μέχρι ο χρήστης να μετακινηθεί σε άλλη εγγραφή. Κατά συνέπεια, η επεξεργασία μιας εγγραφής μπορεί να γίνει μόνο από έναν χρήστη κάθε φορά. Αυτός είναι ο τρόπος με τον οποίο η Access εφαρμόζει το απαισιόδοξο κλείδωμα.

Για περισσότερες πληροφορίες, ανατρέξτε στο παράθυρο διαλόγου "Διένεξη εγγραφής" και στην ιδιότητα RecordLocks.

Στον SQL Server, ο Έλεγχος ταυτόχρονης εκτέλεσης λειτουργεί με τον εξής τρόπο:

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

  • Αισιόδοξος    Στον αισιόδοξο Έλεγχος ταυτόχρονης εκτέλεσης, οι χρήστες δεν κλειδώνουν τα δεδομένα όταν τα διαβάζουν. Όταν ένας χρήστης ενημερώνει δεδομένα, το σύστημα ελέγχει για να δει εάν κάποιος άλλος χρήστης άλλαξε τα δεδομένα μετά την ανάγνωσή τους. Εάν κάποιος άλλος χρήστης έχει ενημερώσει τα δεδομένα, εμφανίζεται ένα σφάλμα. Συνήθως, ο χρήστης που έλαβε το σφάλμα επαναφέρει τη συναλλαγή και ξεκινά από την αρχή. Αυτός ο Έλεγχος ταυτόχρονης εκτέλεσης χρησιμοποιείται κυρίως σε περιβάλλοντα όπου υπάρχει χαμηλή διένεξη για δεδομένα.

Μπορείτε να καθορίσετε τον τύπο του ελέγχου ταυτόχρονης εκτέλεσης, επιλέγοντας διάφορα επίπεδα απομόνωσης συναλλαγής, τα οποία ορίζουν το επίπεδο προστασίας για τη συναλλαγή από τις τροποποιήσεις που έγιναν από άλλες συναλλαγές, χρησιμοποιώντας την πρόταση SET TRANSACTION:

 SET TRANSACTION ISOLATION LEVEL
 { READ UNCOMMITTED
    | READ COMMITTED
    | REPEATABLE READ  
    | SNAPSHOT
    | SERIALIZABLE
 }

Επίπεδο απομόνωσης

Περιγραφή

Μη ολοκληρωμένη ανάγνωση

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

Ολοκληρωμένη ανάγνωση

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

Επαναλαμβανόμενη ανάγνωση

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

Στιγμιότυπο

Χρησιμοποιεί την έκδοση γραμμής για να παρέχει συνέπεια ανάγνωσης επιπέδου συναλλαγής.

Με δυνατότητα σειριοποίησης

Οι συναλλαγές απομονώνονται πλήρως η μία από την άλλη.

Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Οδηγός κλειδώματος συναλλαγών και έκδοσης γραμμής.

Αρχή της σελίδας

Βελτίωση απόδοσης ερωτημάτων

Αφού ολοκληρώσετε την εκτέλεση ενός ερωτήματος διαβίβασης της Access, επωφεληθείτε από τους εξελιγμένους τρόπους με τους οποίους ο SQL Server μπορεί να το κάνει να λειτουργεί πιο αποτελεσματικά.

Σε αντίθεση με μια βάση δεδομένων της Access, ο SQL Server παρέχει παράλληλα ερωτήματα για τη βελτιστοποίηση της εκτέλεσης ερωτημάτων και λειτουργιών ευρετηρίου για υπολογιστές με περισσότερους από έναν μικροεπεξεργαστές (CPU). Επειδή ο SQL Server μπορεί να εκτελέσει μια λειτουργία ερωτήματος ή ευρετηρίου παράλληλα με τη χρήση διάφορων νημάτων εργασίας συστήματος, η λειτουργία μπορεί να ολοκληρωθεί γρήγορα και αποτελεσματικά.

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

Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Ταχύτερη υποβολή ερωτημάτων με τον SQL Server (ηλεκτρονικό βιβλίο).

Βελτιστοποίηση ερωτημάτων

Διάφορα εργαλεία συνεργάζονται για να σας βοηθήσουν να αναλύσετε την απόδοση ενός ερωτήματος και να το βελτιώσετε: Μηχανισμός βελτιστοποίησης ερωτήματος, προγράμματα εκτέλεσης και Χώρος αποθήκευσης ερωτημάτων.

Πώς λειτουργεί η βελτιστοποίηση ερωτημάτων

Μηχανισμός βελτιστοποίησης ερωτήματος

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

Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Μηχανισμός βελτιστοποίησης ερωτήματος του SQL Server.

Πρόγραμμα εκτέλεσης

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

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

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

  • Αλλαγές που έγιναν σε έναν πίνακα ή μια προβολή στα οποία έγινε αναφορά από το ερώτημα (ALTER TABLE και ALTER VIEW).

  • Αλλαγές σε ευρετήρια που χρησιμοποιούνται από το πρόγραμμα εκτέλεσης.

  • Ενημερώσεις στατιστικών στοιχείων που χρησιμοποιούνται από το πρόγραμμα εκτέλεσης, που δημιουργούνται είτε ρητά από μια πρόταση, όπως η UPDATE STATISTICS, είτε αυτόματα.

Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Προγράμματα εκτέλεσης.

Χώρος αποθήκευσης ερωτημάτων

Ο χώρος αποθήκευσης ερωτημάτων παρέχει πληροφορίες σχετικά με την επιλογή και την απόδοση του προγράμματος εκτέλεσης. Απλοποιεί την αντιμετώπιση προβλημάτων επιδόσεων, βοηθώντας σας να βρείτε γρήγορα τις διαφορές απόδοσης που προκαλούνται από τις αλλαγές στο πρόγραμμα εκτέλεσης. Ο χώρος αποθήκευσης ερωτημάτων συγκεντρώνει δεδομένα τηλεμετρίας, όπως ένα ιστορικό ερωτημάτων, σχεδίων, στατιστικών χρόνου εκτέλεσης και στατιστικών στοιχείων αναμονής. Χρησιμοποιήστε την πρόταση ALTER DATABASE για να υλοποιήσετε τον χώρο αποθήκευσης ερωτημάτων:

ALTER DATABASE AdventureWorks2012 SET QUERY_STORE = ON;

Για περισσότερες πληροφορίες, ανατρέξτε στην Παρακολούθηση επιδόσεων, χρησιμοποιώντας τη δυνατότητα Χώρος αποθήκευσης ερωτημάτων.

Αυτόματη διόρθωση προγράμματος

Ίσως ο ευκολότερος τρόπος για να βελτιώσετε την απόδοση των ερωτημάτων είναι η Αυτόματη διόρθωση προγράμματος, η οποία είναι μια δυνατότητα διαθέσιμη με τη Βάση δεδομένων SQL Microsoft Azure. Μπορείτε απλώς να την ενεργοποιήσετε και να την αφήσετε να λειτουργήσει. Εκτελεί συνεχώς παρακολούθηση και ανάλυση του προγράμματος εκτέλεσης, ανιχνεύει τυχόν προβληματικά προγράμματα εκτέλεσης και διορθώνει αυτόματα τα προβλήματα επιδόσεων. Στο παρασκήνιο, η Αυτόματη διόρθωση προγράμματος χρησιμοποιεί μια στρατηγική τεσσάρων βημάτων για εκμάθηση, προσαρμογή, επαλήθευση και επανάληψη.

Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Αυτόματη ρύθμιση.

Προσαρμοστική επεξεργασία ερωτημάτων

Μπορείτε επίσης να έχετε ταχύτερα ερωτήματα, αναβαθμίζοντας απλώς σε SQL Server 2017, ο οποίος έχει μια νέα δυνατότητα που ονομάζεται "Προσαρμοστική επεξεργασία ερωτημάτων". Ο SQL Server ρυθμίζει τις επιλογές σχεδίου ερωτήματος με βάση τα χαρακτηριστικά χρόνου εκτέλεσης.

Η εκτίμηση για την πληθικότητα προσεγγίζει τον αριθμό των γραμμών που υποβάλλονται σε επεξεργασία σε κάθε βήμα ενός σχεδίου εκτέλεσης. Τυχόν ανακριβείς εκτιμήσεις μπορεί να οδηγήσουν σε αργό χρόνο απόκρισης ερωτήματος, περιττή χρήση πόρων (μνήμη, CPU και IO) και μειωμένη απόδοση και ταυτόχρονη εκτέλεση. Χρησιμοποιούνται τρεις τεχνικές για την προσαρμογή στα χαρακτηριστικά του φόρτου εργασίας εφαρμογών:

  • Ανατροφοδότηση εκχώρησης μνήμης σε λειτουργία δέσμης    Η κακή εκτίμηση πληθικότητας μπορεί να προκαλέσει "έκχυση στο δίσκο" των ερωτημάτων ή την κατανάλωση υπερβολικής μνήμης. Ο SQL Server 2017 ρυθμίζει τις εκχωρήσεις μνήμης με βάση την ανατροφοδότηση εκτέλεσης, καταργεί τις διαρροές στο δίσκο και βελτιώνει την ταυτόχρονη εκτέλεση για τα επαναλαμβανόμενα ερωτήματα.

  • Προσαρμοζόμενοι σύνδεσμοι σε λειτουργία δέσμης    Οι προσαρμοζόμενοι σύνδεσμοι επιλέγουν δυναμικά έναν καλύτερο τύπο εσωτερικού συνδέσμου (συνδέσμους ένθετου βρόχου, συνδέσμους συγχώνευσης ή συνδέσμους κατακερματισμού) κατά τον χρόνο εκτέλεσης, με βάση τις πραγματικές γραμμές εισαγωγής. Ως εκ τούτου, ένα πρόγραμμα μπορεί δυναμικά να μεταβεί σε μια στρατηγική καλύτερης ένταξης κατά την εκτέλεση.

  • Εκτέλεση με πλέξη    Οι συναρτήσεις πολλών προτάσεων με τιμές πίνακα θεωρούνται παραδοσιακά ως ένα μαύρο κουτί από την επεξεργασία ερωτημάτων. Ο SQL Server 2017 μπορεί να εκτιμά καλύτερα τις μετρήσεις γραμμών για τη βελτίωση των μεταγενέστερων λειτουργιών.

Μπορείτε να κάνετε τους φόρτους εργασίας να είναι αυτόματα κατάλληλοι για την προσαρμοστική επεξεργασία ερωτημάτων, ενεργοποιώντας ένα επίπεδο συμβατότητας 140 για τη βάση δεδομένων:

ALTER DATABASE [YourDatabaseName] SET COMPATIBILITY_LEVEL = 140;

Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Ευφυής επεξεργασία ερωτημάτων σε βάσεις δεδομένων SQL.

Αρχή της σελίδας

Τρόποι υποβολής ερωτημάτων

Στον SQL Server υπάρχουν διάφοροι τρόποι για να υποβάλετε ερωτήματα και κάθε ένας από αυτούς έχει τα πλεονεκτήματά του. Θέλετε να μάθετε τι είναι, ώστε να μπορείτε να κάνετε τη σωστή επιλογή για την έκδοση της Access που χρησιμοποιείτε. Ο καλύτερος τρόπος για να δημιουργήσετε ερωτήματα TSQL είναι να τα επεξεργαστείτε και να τα δοκιμάσετε αλληλεπιδραστικά, χρησιμοποιώντας το πρόγραμμα επεξεργασίας Transact-SQL SQL Server Management Studio (SSMS), το οποίο έχει χαρακτηριστικά ευφυΐας για να σας βοηθήσει να επιλέξετε τις σωστές λέξεις-κλειδιά και να ελέγξετε για συντακτικά σφάλματα.

Προβολές

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

CREATE VIEW HumanResources.EmployeeHireDate AS  
SELECT p.FirstName, p.LastName, e.HireDate  
FROM HumanResources.Employee AS e JOIN Person.Person AS p  
ON e.BusinessEntityID = p.BusinessEntityID;

Για βέλτιστη απόδοση και για να επεξεργαστείτε τα αποτελέσματα της προβολής, δημιουργήστε μια προβολή με ευρετήριο, η οποία παραμένει στη βάση δεδομένων, όπως ένας πίνακας, έχει εκχωρηθεί χώρος αποθήκευσης για αυτήν και μπορεί να δεχθεί ερωτήματα όπως οποιοσδήποτε άλλος πίνακας. Για να την χρησιμοποιήσετε στην Access, συνδεθείτε με την προβολή με τον ίδιο τρόπο που συνδέετε σε έναν πίνακα. Ακολουθεί ένα παράδειγμα μιας προβολής με ευρετήριο:

CREATE VIEW Sales.vOrders  
WITH SCHEMABINDING  
AS  
    SELECT SUM(UnitPrice*OrderQty*(1.00-UnitPriceDiscount)) AS Revenue,  
        OrderDate, ProductID, COUNT_BIG(*) AS COUNT  
    FROM Sales.SalesOrderDetail AS od, Sales.SalesOrderHeader AS o  
    WHERE od.SalesOrderID = o.SalesOrderID  
    GROUP BY OrderDate, ProductID;  

CREATE UNIQUE CLUSTERED INDEX IDX_V1   
    ON Sales.vOrders (OrderDate, ProductID);  

Ωστόσο, υπάρχουν περιορισμοί. Δεν μπορείτε να ενημερώσετε δεδομένα εάν επηρεάζονται περισσότεροι από ένας βασικοί πίνακες ή η προβολή περιέχει συναρτήσεις συγκεντρωτικών αποτελεσμάτων ή έναν όρο DISTINCT. Εάν ο SQL Server επιστρέψει ένα μήνυμα σφάλματος που αναφέρει ότι δεν γνωρίζει ποια εγγραφή να διαγράψει, ίσως χρειαστεί να προσθέσετε ένα έναυσμα διαγραφής στην προβολή. Τέλος, δεν μπορείτε να χρησιμοποιήσετε τον όρο ORDER BY, όπως μπορείτε να κάνετε με ένα ερώτημα της Access.

Για περισσότερες πληροφορίες, ανατρέξτε στα θέματα Προβολές και Δημιουργία προβολών με ευρετήριο.

Αποθηκευμένες διαδικασίες

Μια αποθηκευμένη διαδικασία είναι μια ομάδα από μία ή περισσότερες προτάσεις TSQL που λαμβάνουν παραμέτρους εισόδου, επιστρέφουν παραμέτρους εξόδου και υποδεικνύουν επιτυχία ή αποτυχία με μια τιμή κατάστασης. Ενεργούν ως ενδιάμεσο επίπεδο μεταξύ του προσκηνίου της Access και του παρασκηνίου του SQL Server. Οι αποθηκευμένες διαδικασίες μπορούν να είναι τόσο απλές όσο μια πρόταση SELECT ή τόσο περίπλοκες όσο οποιοδήποτε πρόγραμμα. Ακολουθεί ένα παράδειγμα:

CREATE PROCEDURE HumanResources.uspGetEmployees   
    @LastName nvarchar(50),   
    @FirstName nvarchar(50)   
AS   
    SET NOCOUNT ON;  
    SELECT FirstName, LastName, Department  
    FROM HumanResources.vEmployeeDepartmentHistory  
    WHERE FirstName = @FirstName AND LastName = @LastName  
    AND EndDate IS NULL;  

Όταν χρησιμοποιείτε μια αποθηκευμένη διαδικασία στην Access, συνήθως επιστρέφει ένα σύνολο αποτελεσμάτων σε μια φόρμα ή αναφορά. Ωστόσο, μπορεί να εκτελέσει και άλλες ενέργειες που δεν επιστρέφουν αποτελέσματα, όπως οι προτάσεις DDL ή DML. Όταν χρησιμοποιείτε ένα Ερώτημα διαβίβασης, βεβαιωθείτε ότι έχετε ορίσει σωστά την ιδιότητα Returns Records.

Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Αποθηκευμένες διαδικασίες.

Κοινές παραστάσεις πίνακα

Οι Κοινές παραστάσεις πίνακα (CTE) μοιάζουν με έναν προσωρινό πίνακα που δημιουργεί ένα καθορισμένο σύνολο αποτελεσμάτων. Υπάρχουν μόνο για την εκτέλεση ενός μεμονωμένου ερωτήματος ή μιας πρότασης DML. Μία CTE είναι ενσωματωμένη στην ίδια γραμμή κώδικα με την πρόταση SELECT ή την πρόταση DML που την χρησιμοποιεί, ενώ η δημιουργία και η χρήση ενός προσωρινού πίνακα ή προβολής είναι συνήθως μια διαδικασία δύο βημάτων. Ακολουθεί ένα παράδειγμα:

-- Define the CTE expression name and column list.  
WITH Sales_CTE (SalesPersonID, SalesOrderID, SalesYear)  
AS  
-- Define the CTE query.  
(  
    SELECT SalesPersonID, SalesOrderID, YEAR(OrderDate) AS SalesYear  
    FROM Sales.SalesOrderHeader  
    WHERE SalesPersonID IS NOT NULL  
)  
-- Define the outer query referencing the CTE name.  
SELECT SalesPersonID, COUNT(SalesOrderID) AS TotalSales, SalesYear  
FROM Sales_CTE  
GROUP BY SalesYear, SalesPersonID  
ORDER BY SalesPersonID, SalesYear;

Μία CTE διαθέτει πολλά πλεονεκτήματα, όπως τα εξής:

  • Επειδή οι CTE είναι παροδικές, δεν χρειάζεται να τις δημιουργείτε ως μόνιμα αντικείμενα βάσεων δεδομένων, όπως οι προβολές.

  • Μπορείτε να αναφέρετε περισσότερες από μία φορές την ίδια CTE σε ένα ερώτημα ή μια πρόταση DML, κάνοντας τον κώδικά σας πιο εύχρηστο.

  • Μπορείτε να χρησιμοποιήσετε ερωτήματα που αναφέρονται σε μια CTE για να ορίσετε έναν δρομέα.

Για περισσότερες πληροφορίες, ανατρέξτε στην ενότητα WITH common_table_expression.

Συναρτήσεις που ορίζονται από τον χρήστη

Μια συνάρτηση που ορίζεται από τον χρήστη (UDF) μπορεί να εκτελέσει ερωτήματα και υπολογισμούς και να επιστρέψει είτε κλιμακούμενες τιμές είτε σύνολα αποτελεσμάτων δεδομένων. Είναι όπως οι συναρτήσεις στις γλώσσες προγραμματισμού που αποδέχονται παραμέτρους, εκτελούν μια ενέργεια, όπως ένας σύνθετος υπολογισμός και επιστρέφουν το αποτέλεσμα αυτής της ενέργειας ως τιμή. Ακολουθεί ένα παράδειγμα:

CREATE FUNCTION dbo.ISOweek (@DATE datetime)  
RETURNS int WITH SCHEMABINDING -- Helps improve performance
WITH EXECUTE AS CALLER  
AS  
BEGIN  
     DECLARE @ISOweek int;  
     SET @ISOweek= DATEPART(wk,@DATE)+1  
          -DATEPART(wk,CAST(DATEPART(yy,@DATE) as CHAR(4))+'0104');  
-- Special cases: Jan 1-3 may belong to the previous year  
     IF (@ISOweek=0)   
          SET @ISOweek=dbo.ISOweek(CAST(DATEPART(yy,@DATE)-1   
               AS CHAR(4))+'12'+ CAST(24+DATEPART(DAY,@DATE) AS CHAR(2)))+1;  
-- Special case: Dec 29-31 may belong to the next year  
     IF ((DATEPART(mm,@DATE)=12) AND   
          ((DATEPART(dd,@DATE)-DATEPART(dw,@DATE))>= 28))  
          SET @ISOweek=1;  
     RETURN(@ISOweek);  
END;  
GO  
SET DATEFIRST 1;  
SELECT dbo.ISOweek(CONVERT(DATETIME,'12/26/2004',101)) AS 'ISO Week';  

Μια UDF έχει συγκεκριμένους περιορισμούς. Για παράδειγμα, δεν μπορούν να χρησιμοποιήσουν συγκεκριμένες μη προσδιοριστικές συναρτήσεις συστήματος, να εκτελέσουν προτάσεις DML ή DDL ή να υποβάλουν δυναμικά ερωτήματα SQL.

Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Συναρτήσεις που ορίζονται από τον χρήστη.

Αρχή της σελίδας

Προσθήκη κλειδιών και ευρετηρίων

Ανεξάρτητα από το σύστημα βάσεων δεδομένων που χρησιμοποιείτε, τα κλειδιά και τα ευρετήρια πηγαίνουν χέρι-χέρι.

Κλειδιά

Στον SQL Server, βεβαιωθείτε ότι δημιουργείτε πρωτεύοντα κλειδιά για κάθε πίνακα και εξωτερικά κλειδιά για κάθε σχετικό πίνακα. Η αντίστοιχη δυνατότητα στον SQL Server για τον τύπο δεδομένων "Αυτόματη αρίθμηση" είναι η ιδιότητα IDENTITY, η οποία μπορεί να χρησιμοποιηθεί για τη δημιουργία τιμών κλειδιού. Μετά την εφαρμογή αυτής της ιδιότητας σε οποιαδήποτε αριθμητική στήλη, αυτή μετατρέπεται σε "μόνο για ανάγνωση" και διατηρείται από το σύστημα βάσεων δεδομένων. Όταν εισάγετε μια εγγραφή σε έναν πίνακα που περιέχει μια στήλη IDENTITY, το σύστημα αυξάνει αυτόματα την τιμή της στήλης IDENTITY κατά 1 και ξεκινώντας από την 1, αλλά μπορείτε να ελέγξετε αυτές τις τιμές με ορίσματα.

Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα CREATE TABLE, IDENTITY (Ιδιότητα).

Ευρετήρια

Όπως πάντα, η επιλογή των ευρετηρίων είναι μια πράξη εξισορρόπησης μεταξύ της ταχύτητας ερωτημάτων και του κόστους ενημέρωσης. Στην Access, έχετε έναν τύπο ευρετηρίου, αλλά στον SQL Server έχετε δώδεκα. Ευτυχώς, μπορείτε να χρησιμοποιήσετε τον μηχανισμό βελτιστοποίησης ερωτήματος για να σας βοηθήσει να επιλέξετε αξιόπιστα το πιο αποτελεσματικό ευρετήριο. Και στο Azure SQL, μπορείτε να χρησιμοποιήσετε την αυτόματη διαχείριση ευρετηρίου, μια δυνατότητα της αυτόματης ρύθμισης, η οποία συνιστά την προσθήκη ή την κατάργηση δεικτών για εσάς. Σε αντίθεση με την Access, πρέπει να δημιουργήσετε τα δικά σας ευρετήρια για τα εξωτερικά κλειδιά στον SQL Server. Μπορείτε επίσης να δημιουργήσετε ευρετήρια σε μια προβολή με ευρετήριο για να βελτιώσετε την απόδοση των ερωτημάτων. Το μειονέκτημα σε μια προβολή με ευρετήριο αυξάνεται συνήθως όταν τροποποιείτε δεδομένα στους βασικούς πίνακες της προβολής, καθώς η προβολή πρέπει επίσης να ενημερώνεται. Για περισσότερες πληροφορίες, ανατρέξτε στα θέματα Οδηγός αρχιτεκτονικής και σχεδιασμού ευρετηρίου SQL Server και Ευρετήρια.

Αρχή της σελίδας

Εκτέλεση συναλλαγών

Το να εκτελείτε μια Διαδικασία ηλεκτρονικής συναλλαγής (OLTP) είναι δύσκολο όταν χρησιμοποιείτε την Access, αλλά σχετικά εύκολο με τον SQL Server. Μια συναλλαγή είναι μία ενιαία μονάδα εργασίας που ολοκληρώνει όλες τις αλλαγές δεδομένων όταν επιτυχημένες, αλλά επαναφέρει τις αλλαγές όταν δεν είναι επιτυχημένες. Μια συναλλαγή πρέπει να έχει τέσσερις ιδιότητες, που συχνά αναφέρονται ως ACID:

  • Ατομικότητα    Μια συναλλαγή πρέπει να είναι μια ατομική μονάδα εργασίας. Είτε εκτελούνται όλες οι τροποποιήσεις των δεδομένων της είτε δεν εκτελούνται.

  • Συνέπεια    Όταν ολοκληρωθεί, μια συναλλαγή πρέπει να αφήνει όλα τα δεδομένα σε συνεπή κατάσταση. Αυτό σημαίνει ότι εφαρμόζονται όλοι οι κανόνες ακεραιότητας δεδομένων.

  • Απομόνωση    Οι αλλαγές που γίνονται από ταυτόχρονες συναλλαγές απομονώνονται από την τρέχουσα συναλλαγή.

  • Αντοχή    Μετά την ολοκλήρωση μιας συναλλαγής, οι αλλαγές είναι μόνιμες ακόμη και σε περίπτωση αποτυχίας του συστήματος.

Μπορείτε να χρησιμοποιήσετε μια συναλλαγή για να διασφαλίσετε εγγυημένη ακεραιότητα των δεδομένων, όπως μια ανάληψη μετρητών από ATM ή μια αυτόματη κατάθεση επιταγής πληρωμής. Μπορείτε να κάνετε ρητές, έμμεσες ή μαζικές συναλλαγές. Ακολουθούν δύο παραδείγματα TSQL:

-- Using an explicit transaction

BEGIN TRANSACTION;  
DELETE FROM HumanResources.JobCandidate  
    WHERE JobCandidateID = 13;  
COMMIT;  

-- the ROLLBACK statement rolls back the INSERT statement, but the created table still exists.

CREATE TABLE ValueTable (id int);  
BEGIN TRANSACTION;  
       INSERT INTO ValueTable VALUES(1);  
       INSERT INTO ValueTable VALUES(2);  
ROLLBACK;

Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Συναλλαγές.

Αρχή της σελίδας

Χρήση περιορισμών και εναυσμάτων

Όλες οι βάσεις δεδομένων διαθέτουν τρόπους διατήρησης της ακεραιότητας των δεδομένων.

Περιορισμοί

Στην Access, μπορείτε να επιβάλετε ακεραιότητα αναφορών σε μια σχέση πίνακα μέσω ζευγών εξωτερικών κλειδιών-κύριων κλειδιών, διαδοχικές ενημερώσεις και διαγραφές καθώς και κανόνες επικύρωσης. Για περισσότερες πληροφορίες, ανατρέξτε στα άρθρα Οδηγός για σχέσεις πινάκων και Περιορισμός εισαγωγής δεδομένων με τη χρήση κανόνων επικύρωσης.

Στον SQL Server, χρησιμοποιείτε τους περιορισμούς UNIQUE και CHECK, που είναι αντικείμενα βάσεων δεδομένων που επιβάλλουν την ακεραιότητα των δεδομένων σε πίνακες του SQL Server. Για να επαληθεύσετε ότι μια τιμή είναι έγκυρη σε έναν άλλο πίνακα, χρησιμοποιήστε έναν περιορισμό εξωτερικού κλειδιού. Για να επαληθεύσετε ότι μια τιμή είναι εντός του πίνακα, χρησιμοποιήστε έναν περιορισμό ελέγχου. Αυτά τα αντικείμενα είναι η πρώτη γραμμή άμυνας και έχουν σχεδιαστεί για να λειτουργούν αποτελεσματικά. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Μοναδικοί περιορισμοί και περιορισμοί ελέγχου.

Εναύσματα

Η Access δεν έχει εναύσματα βάσεων δεδομένων. Στον SQL Server, μπορείτε να χρησιμοποιήσετε εναύσματα για να επιβάλετε σύνθετους κανόνες ακεραιότητας δεδομένων και για να εκτελέσετε αυτή την επιχειρηματική λογική στο διακομιστή. Ένα έναυσμα βάσης δεδομένων είναι μια αποθηκευμένη διαδικασία που εκτελείται όταν γίνονται συγκεκριμένες ενέργειες μέσα σε μια βάση δεδομένων. Το έναυσμα είναι ένα συμβάν, όπως η προσθήκη ή η διαγραφή μιας εγγραφής σε έναν πίνακα, το οποίο ενεργοποιεί και, στη συνέχεια, εκτελεί την αποθηκευμένη διαδικασία. Παρόλο που μια βάση δεδομένων της Access μπορεί να εξασφαλίσει την ακεραιότητα αναφορών όταν ένας χρήστης επιχειρεί να ενημερώσει ή να διαγράψει δεδομένα, ο SQL Server διαθέτει ένα εξελιγμένο σύνολο εναυσμάτων. Για παράδειγμα, μπορείτε να προγραμματίσετε ένα έναυσμα για να διαγράψετε τις εγγραφές μαζικά και να διασφαλίσετε την ακεραιότητα των δεδομένων. Μπορείτε ακόμη και να προσθέσετε εναύσματα σε πίνακες και προβολές.

Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Εναύσματα - DML, Εναύσματα - DDL και Σχεδιασμός ενός εναύσματος T-SQL.

Αρχή της σελίδας

Χρήση υπολογιζόμενων στηλών

Στην Access, μπορείτε να δημιουργήσετε μια υπολογιζόμενη στήλη με την προσθήκη της σε ένα ερώτημα και τη δημιουργία μιας παράστασης, όπως:

Extended Price: [Quantity] * [Unit Price]

Στον SQL Server, η αντίστοιχη δυνατότητα καλείται υπολογιζόμενη στήλη, η οποία είναι μια εικονική στήλη που δεν είναι φυσικά αποθηκευμένη στον πίνακα, εκτός εάν η στήλη έχει επισημανθεί ως μόνιμη. Όπως μια υπολογιζόμενη στήλη της Access, μια υπολογιζόμενη στήλη SQL Server χρησιμοποιεί δεδομένα από άλλες στήλες σε μια παράσταση. Για να δημιουργήσετε μια υπολογιζόμενη στήλη, προσθέστε την σε έναν πίνακα. Για παράδειγμα:

CREATE TABLE dbo.Products   
(  
    ProductID int IDENTITY (1,1) NOT NULL  
  , QtyAvailable smallint  
  , UnitPrice money  
  , InventoryValue AS QtyAvailable * UnitPrice  
);  

Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Καθορισμός υπολογιζόμενων στηλών σε έναν πίνακα.

Αρχή της σελίδας

Χρονική σήμανση των δεδομένων σας

Μερικές φορές μπορείτε να προσθέσετε ένα πεδίο πίνακα για να καταγράψετε μια χρονική σήμανση κατά τη δημιουργία μιας εγγραφής, ώστε να μπορείτε να καταγράψετε την καταχώρηση δεδομένων. Στην Access, μπορείτε απλώς να δημιουργήσετε μια στήλη ημερομηνίας με την προεπιλεγμένη τιμή =Now(). Για να καταγράψετε μια ημερομηνία ή ώρα στον SQL Server, χρησιμοποιήστε τον τύπο δεδομένων datetime2 με την προεπιλεγμένη τιμή SYSDATETIME().

Σημείωση    Αποφύγετε την σύγχυση rowversion με την προσθήκη μιας χρονικής σήμανσης στα δεδομένα σας. Η χρονική σήμανση λέξεων-κλειδιών είναι συνώνυμο του rowversion στον SQL Server, αλλά θα πρέπει να χρησιμοποιήσετε την λέξη-κλειδί rowversion. Στον SQL Server, το rowversion είναι ένας τύπος δεδομένων που εκθέτει αυτόματα μοναδικούς δυαδικούς αριθμούς μέσα σε μια βάση δεδομένων και χρησιμοποιείται γενικά ως μηχανισμός για τις γραμμές πίνακα με σήμανση έκδοσης. Ωστόσο, ο τύπος δεδομένων rowversion είναι απλώς ένας επαυξητικός αριθμός, δεν διατηρεί μια ημερομηνία ή ώρα και δεν έχει σχεδιαστεί για τη σήμανση μιας γραμμής.

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

Αρχή της σελίδας

Διαχείριση μεγάλων αντικειμένων

Στην Access, μπορείτε να διαχειριστείτε μη δομημένα δεδομένα, όπως αρχεία, φωτογραφίες και εικόνες, χρησιμοποιώντας τον Τύπο δεδομένων "Συνημμένο". Στην ορολογία του SQL Server, τα μη δομημένα δεδομένα ονομάζονται BLOB (δυαδικό μεγάλο αντικείμενο) και υπάρχουν διάφοροι τρόποι για να εργαστείτε με αυτά τα στοιχεία:

FILESTREAM    Χρησιμοποιεί τον τύπο δεδομένων varbinary (max) για την αποθήκευση των μη δομημένων δεδομένων στο σύστημα αρχείων και όχι στη βάση δεδομένων. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Δεδομένα FILESTREAM της Access με Transact-SQL.

FileTable    Αποθηκεύει αντικείμενα blob σε ειδικούς πίνακες που ονομάζονται FileTables και παρέχει συμβατότητα με τις εφαρμογές των Windows, σαν να ήταν αποθηκευμένες στο σύστημα αρχείων και χωρίς να γίνουν αλλαγές στις εφαρμογές προγράμματος-πελάτη που χρησιμοποιείτε. Το FileTable απαιτείται για τη χρήση του FILESTREAM. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα FileTables.

Απομακρυσμένος χώρος αποθήκευσης αντικειμένων BLOB (RBS)    Αποθηκεύει δυαδικά μεγάλα αντικείμενα (blob) σε λύσεις εμπορικού χώρου αποθήκευσης και όχι απευθείας στο διακομιστή. Αυτό εξοικονομεί χώρο και μειώνει τους πόρους υλικού. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Δεδομένα δυαδικού μεγάλου αντικειμένου (BLOB).

Αρχή της σελίδας

Εργασία με ιεραρχικά δεδομένα

Παρόλο που οι σχεσιακές βάσεις δεδομένων, όπως η Access, είναι πολύ ευέλικτες, η συνεργασία με ιεραρχικές σχέσεις είναι μια εξαίρεση και συχνά απαιτεί περίπλοκες προτάσεις ή κώδικες SQL. Παραδείγματα ιεραρχικών δεδομένων είναι: μια οργανωτική δομή, ένα σύστημα αρχείων, μια ταξινόμηση γλωσσικών όρων και ένα γράφημα συνδέσεων μεταξύ σελίδων Web. Ο SQL Server διαθέτει έναν ενσωματωμένο τύπο δεδομένων hierarchyid και ένα σύνολο ιεραρχικών συναρτήσεων για την εύκολη αποθήκευση, την υποβολή ερωτημάτων και τη διαχείριση ιεραρχικών δεδομένων.

Μια τυπική ιεραρχία

Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Ιεραρχικά δεδομένα και Πρόγραμμα εκμάθησης: Χρήση του τύπου δεδομένων hierarchyid.

Αρχή της σελίδας

Χειρισμός κειμένου JSON

Η Σημειογραφία αντικειμένων JavaScript (JSON) είναι μια υπηρεσία Web που χρησιμοποιεί κείμενο αναγνώσιμο από τον άνθρωπο για τη μετάδοση δεδομένων ως ζεύγη χαρακτηριστικού-τιμής σε ασύγχρονη επικοινωνία προγράμματος περιήγησης-διακομιστή. Για παράδειγμα:

{
"firstName": "Mary",
"lastName": "Contrary",
"spouse": null,
"age": 27
}

Στην Access δεν υπάρχουν ενσωματωμένοι τρόποι για τη διαχείριση δεδομένων JSON, αλλά στον SQL Server μπορείτε απρόσκοπτα να αποθηκεύετε, να δημιουργείτε ευρετήριο, να υποβάλετε ερωτήματα και να εξάγετε δεδομένα JSON. Μπορείτε να μετατρέψετε και να αποθηκεύσετε κείμενο JSON σε έναν πίνακα ή να μορφοποιήσετε δεδομένα ως κείμενο JSON. Για παράδειγμα, μπορεί να θέλετε να μορφοποιήσετε τα αποτελέσματα του ερωτήματος ως JSON για μια εφαρμογή Web ή να προσθέσετε δομές δεδομένων JSON σε γραμμές και στήλες.

Σημείωση    Το JSON δεν υποστηρίζεται από τη VBA. Ως εναλλακτική λύση, μπορείτε να χρησιμοποιήσετε την XML στη VBA, χρησιμοποιώντας τη βιβλιοθήκη MSXML.

Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Δεδομένα JSON στον SQL Server.

Αρχή της σελίδας

Πόροι

Τώρα είναι η κατάλληλη στιγμή για να μάθετε περισσότερα σχετικά με τον SQL Server και την Transact SQL (TSQL). Όπως είδατε, υπάρχουν πολλές δυνατότητες όπως της Access, αλλά και δυνατότητες που η Access απλά δεν διαθέτει. Για να μεταβείτε στο επόμενο επίπεδο, θα βρείτε παρακάτω ορισμένους πόρους εκμάθησης:

Πόρος

Περιγραφή

Υποβολή ερωτημάτων με την Transact-SQL

Κύκλος μαθημάτων που βασίζεται σε βίντεο

Προγράμματα εκμάθησης μηχανισμού βάσεων δεδομένων

Προγράμματα εκμάθησης για τον SQL Server 2017

Microsoft Learn

Πρακτική εκμάθηση για το Azure

Εκπαίδευση και πιστοποίηση για τον SQL Server

Γίνε ειδικός

SQL Server 2017

Η κύρια σελίδα προορισμού

Τεκμηρίωση του SQL Server

Πληροφορίες βοήθειας

Τεκμηρίωση βάσεων δεδομένων SQL Azure

Πληροφορίες βοήθειας

Ο απαραίτητος οδηγός για τα δεδομένα στο cloud (ηλεκτρονικό βιβλίο)

Επισκόπηση του cloud

Φύλλο δεδομένων SQL Server 2017

Μια οπτική σύνοψη των νέων δυνατοτήτων

Σύγκριση εκδόσεων του Microsoft SQL Server

Μια σύνοψη των δυνατοτήτων ανά έκδοση

Εκδόσεις του Microsoft SQL Server Express

Λήψη του SQL Server Express 2017

Δείγμα βάσεων δεδομένων SQL

Λήψη δειγμάτων βάσεων δεδομένων

Αρχή της σελίδας

Χρειάζεστε περισσότερη βοήθεια;

Θέλετε περισσότερες επιλογές;

Εξερευνήστε τα πλεονεκτήματα της συνδρομής, περιηγηθείτε σε εκπαιδευτικά σεμινάρια, μάθετε πώς μπορείτε να προστατεύσετε τη συσκευή σας και πολλά άλλα.

Οι κοινότητες σάς βοηθούν να κάνετε και να απαντάτε σε ερωτήσεις, να δίνετε σχόλια και να ακούτε από ειδικούς με πλούσια γνώση.