Μετεγκατάσταση βάσης δεδομένων της Access στον SQL Server

Μετεγκατάσταση βάσης δεδομένων της Access στον SQL Server

Όλοι έχουμε όρια και μια βάση δεδομένων της Access δεν αποτελεί εξαίρεση. Για παράδειγμα, μια βάση δεδομένων της Access έχει όριο μεγέθους 2 GB και δεν μπορεί να υποστηρίξει περισσότερους από 255 ταυτόχρονους χρήστες. Επομένως, όταν πρέπει να προχωρήσετε στο επόμενο επίπεδο για τη βάση δεδομένων της Access, μπορείτε να κάνετε μετεγκατάσταση στον SQL Server. Ο SQL Server (είτε στην εσωτερική εγκατάσταση είτε στο cloud του Azure) υποστηρίζει μεγαλύτερες ποσότητες δεδομένων, περισσότερους ταυτόχρονους χρήστες και έχει μεγαλύτερη χωρητικότητα από το μηχανισμό βάσεων δεδομένων JET/ACE. Αυτός ο οδηγός σας δίνει μια ομαλή αρχή στο ταξίδι του SQL Server, σας βοηθά να διατηρήσετε τις λύσεις προσ αρχής της Access που δημιουργήσατε και ευελπιστούμε ότι θα σας δώσει το κίνητρο να χρησιμοποιήσετε την Access για μελλοντικές λύσεις βάσεων δεδομένων. Ο Οδηγός αναβάθμισης καταργήθηκε από την Access στην Access 2013, επομένως τώρα μπορείτε να χρησιμοποιήσετε τον Βοηθό μετεγκατάστασης Microsoft SQL Server (SSMA). Για να μετεγκαταστήσετε με επιτυχία, ακολουθήστε αυτά τα στάδια.

Τα στάδια της μετεγκατάστασης βάσης δεδομένων στον SQL Server

Πριν ξεκινήσετε

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

Πληροφορίες για τις διαιρεμένη βάση δεδομένων

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

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

Πλεονεκτήματα του SQL Server

Εξακολουθείτε να χρειάζεστε βοήθεια για τη μετεγκατάσταση στον SQL Server; Ακολουθούν ορισμένα επιπλέον πλεονεκτήματα για τα οποία μπορείτε να σκεφτείτε:

  • Περισσότεροι ταυτόχρονοι χρήστες    Ο SQL Server μπορεί να χειριστεί πολλούς περισσότερους ταυτόχρονους χρήστες από την Access και ελαχιστοποιεί τις απαιτήσεις μνήμης όταν προστίθενται περισσότεροι χρήστες.

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

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

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

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

  • Χρήση VPN    Η Access και τα εικονικά ιδιωτικά δίκτυα (VPN) δεν τα πάει καλά. Ωστόσο, με τον SQL Server, οι απομακρυσμένοι χρήστες μπορούν να χρησιμοποιήσουν ακόμα τη βάση δεδομένων προσήματων της Access σε μια επιφάνεια εργασίας και στο παρασκήνιο του SQL Server που βρίσκεται πίσω από το τείχος προστασίας VPN.

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

Επιλέξτε την καλύτερη επιλογή Azure SQL Server

Εάν κάνετε μετεγκατάσταση σε Azure SQL Server, υπάρχουν τρεις επιλογές για να επιλέξετε, καθεμία με διαφορετικά πλεονεκτήματα:

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

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

  • Εικονική μηχανή Azure    Αυτή η επιλογή σάς επιτρέπει να εκτελέσετε τον SQL Server μέσα σε μια εικονική μηχανή στο cloud του Azure. Έχετε τον πλήρη έλεγχο του μηχανισμού του SQL Server και μια εύκολη διαδρομή μετεγκατάστασης. Ωστόσο, πρέπει να διαχειρίζεστε τα αντίγραφα ασφαλείας, τις ενημερώσεις κώδικα και την αποκατάσταση.

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

Πρώτα βήματα

Υπάρχουν ορισμένα ζητήματα που μπορείτε να αντιμετωπίσει εκ των προτέρων και τα οποία μπορούν να σας βοηθήσουν να εξομαλεύσει τη διαδικασία μετεγκατάστασης πριν από την εκτέλεση του SSMA:

  • Προσθήκη ευρεμάτων πίνακα και πρωτευμάτων κλειδιών    Βεβαιωθείτε ότι κάθε πίνακας της Access έχει ένα ευρετήριο και ένα πρωτεύον κλειδί. Ο SQL Server απαιτεί όλοι οι πίνακες να έχουν τουλάχιστον ένα ευρετήριο και απαιτεί από έναν συνδεδεμένο πίνακα να έχει πρωτεύον κλειδί εάν ο πίνακας μπορεί να ενημερωθεί.

  • Έλεγχος σχέσεων πρωτεύοντος/εξωτερικού κλειδιού    Βεβαιωθείτε ότι αυτές οι σχέσεις βασίζονται σε πεδία με συνεπείς τύπους και μεγέθη δεδομένων. Ο SQL Server δεν υποστηρίζει συνδεδεμένους στήλες με διαφορετικούς τύπους και μεγέθη δεδομένων σε περιορισμούς εξωτερικού κλειδιού.

  • Κατάργηση της στήλης "Συνημμένο"    Η SSMA δεν μετεγκαθίσται πίνακες που περιέχουν τη στήλη "Συνημμένο".

Πριν να εκτελέσετε την SSMA, ακολουθήστε τα πρώτα βήματα που ακολουθούν.

  1. Κλείστε τη βάση δεδομένων της Access.

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

  3. Εάν η βάση δεδομένων είναι σε μορφή αρχείου .mdb,καταργήστε την ασφάλεια σε επίπεδο χρήστη.

  4. Να αντίγραφα ασφαλείας της βάσης δεδομένων σας. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα "Προστασία των δεδομένων σας με διαδικασίες δημιουργίας αντιγράφων ασφαλείας και επαναφοράς".

Συμβουλή    Εξετάστε το ενδεχόμενο να εγκαταστήσετε την έκδοση Του Microsoft SQL Server Express στον υπολογιστή σας, η οποία υποστηρίζει έως 10 GB και είναι ένας δωρεάν και πιο εύκολος τρόπος για να εκτελέσετε και να ελέγξετε τη μετεγκατα μηνία σας. Όταν συνδέεστε, χρησιμοποιήστε το LocalDB ως παρουσία της βάσης δεδομένων.

Συμβουλή    Εάν είναι δυνατόν, χρησιμοποιήστε μια αυτόνομη έκδοση της Access. Εάν μπορείτε να χρησιμοποιήσετε μόνο Microsoft 365, χρησιμοποιήστε το μηχανισμό βάσεων δεδομένων της Access 2010 για να μετεγκαταστήσετε τη βάση δεδομένων της Access κατά τη χρήση της SSMA. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Microsoft Access Database Engine 2010 Redistributable.

Εκτέλεση SSMA

Η Microsoft παρέχει τον Βοηθό μετεγκατάστασης του Microsoft SQL Server (SSMA) για να διευκολύνει τη μετεγκατάσταση. Το SSMA μετεγκαθίσταται κυρίως πίνακες και ερωτήματα επιλογής χωρίς παραμέτρους. Οι φόρμες, οι αναφορές, οι μακροεντολές και οι λειτουργικές μονάδες VBA δεν μετατρέπονται. Η Εξερεύνηση μετα-δεδομένων του SQL Server εμφανίζει τα αντικείμενα της βάσης δεδομένων της Access και τα αντικείμενα του SQL Server επιτρέποντάς σας να εξετάσετε το τρέχον περιεχόμενο και των δύο βάσεων δεδομένων. Αυτές οι δύο συνδέσεις αποθηκεύονται στο αρχείο μετεγκατάστασης, εάν αποφασίσετε να μεταφέρετε πρόσθετα αντικείμενα στο μέλλον.

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

  1. Για να μετεγκαταστήσετε μια βάση δεδομένων χρησιμοποιώντας SSMA, πρέπει πρώτα να κάνετε λήψη και εγκατάσταση του λογισμικού κάνοντας διπλό κλικ στο αρχείο MSI που έχετε κάνει λήψη. Βεβαιωθείτε ότι έχετε εγκαταστήσει την κατάλληλη έκδοση 32 ή 64 bit για τον υπολογιστή σας.

  2. Μετά την εγκατάσταση της SSMA, ανοίξτε την στην επιφάνεια εργασίας σας, κατά προτίμηση από τον υπολογιστή με το αρχείο βάσης δεδομένων της Access.

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

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

  4. Εάν κάνετε μετεγκατάσταση σε SQL Server 2016 ή νεότερη έκδοση και θέλετε να ενημερώσετε έναν συνδεδεμένο πίνακα, προσθέστε μια στήλη rowversion επιλέγοντας "Εργαλεία αναθεώρησης" >"Ρυθμίσεις έργου" > "Γενικά".

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

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

  5. Για να ορίσετε ακριβείς τύπους δεδομένων, επιλέξτε "Εργαλεία αναθεώρησης" > "Ρυθμίσεις έργου" > "Αντιστοίχιση τύπου". Για παράδειγμα, εάν αποθηκεύετε μόνο αγγλικό κείμενο, μπορείτε να χρησιμοποιήσετε το varchar αντί για τον τύπο δεδομένων nvarchar.

Μετατροπή αντικειμένων

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

  • Πίνακες και στήλες

  • Επιλογή ερωτημάτων χωρίς παραμέτρους.

  • Πρωτεύοντα και ξένα κλειδιά

  • Ευρετήρια και προεπιλεγμένες τιμές

  • Έλεγχος περιορισμών (ιδιότητα στήλης μηδενικού μήκους, κανόνας επικύρωσης στήλης, επικύρωση πίνακα)

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

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

Για να μετατρέψετε, να φορτώσετε και να μετεγκαταστήσετε αντικείμενα στον SQL Server, ακολουθήστε αυτόν τον οδηγό.

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

Σύνδεση πινάκων

Εξετάστε το ενδεχόμενο να εγκαταστήσετε την πιο πρόσφατη έκδοση των προγραμμάτων οδήγησης OLE DB και ODBC του SQL Server αντί να χρησιμοποιήσετε τα εγγενή προγράμματα οδήγησης του SQL Server που ονται με τα Windows. Όχι μόνο τα νεότερα προγράμματα οδήγησης είναι πιο γρήγορα, αλλά υποστηρίζουν νέες δυνατότητες του Azure SQL που δεν υποστηρίζουν τα προηγούμενα προγράμματα οδήγησης. Μπορείτε να εγκαταστήσετε τα προγράμματα οδήγησης σε κάθε υπολογιστή όπου χρησιμοποιείται η βάση δεδομένων που έχει μετατραπεί. Για περισσότερες πληροφορίες, ανατρέξτε στο πρόγραμμα οδήγησης OLE DB 18 για SQL Server και το πρόγραμμα οδήγησης ODBC 17 για SQL Server.

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

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

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

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

Δοκιμή και αναθεώρηση

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

Ερωτήματα

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

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

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

Μεγάλος αριθμός    Ο τύπος δεδομένων "Μεγάλος αριθμός" αποθηκεύει μια μη νομισματική, αριθμητική τιμή και είναι συμβατός με τον τύπο δεδομένων bigint SQL. Μπορείτε να χρησιμοποιήσετε αυτόν τον τύπο δεδομένων για να υπολογίσετε αποτελεσματικά μεγάλους αριθμούς, αλλά απαιτεί τη χρήση της μορφής αρχείου βάσης δεδομένων .accdb της Access 16 (16.0.7812 ή νεότερη) και έχει καλύτερες επιδόσεις με την έκδοση 64 bit της Access. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα "Χρήση του τύπου δεδομένων "Μεγάλος αριθμός" και "Επιλογή μεταξύ της έκδοσης 64 bit ή 32 bit του Office".

Ναι/Όχι    Από προεπιλογή, μια στήλη "Ναι/Όχι" της Access μετατρέπεται σε πεδίο bit του SQL Server. Για να αποφύγετε το κλείδωμα εγγραφών, βεβαιωθείτε ότι το πεδίο bit έχει οριστεί ώστε να μην επιτρέπει τις τιμές NULL. ΣΤΗΝ SSMA, μπορείτε να επιλέξετε τη στήλη bit για να ορίσετε την ιδιότητα Allow Nulls σε NO. Στο TSQL, χρησιμοποιήστε τις προτάσεις CREATE TABLE ή ALTER TABLE.

Ημερομηνία και ώρα    Υπάρχουν διάφορα ζητήματα σχετικά με την ημερομηνία και την ώρα:

  • Εάν το επίπεδο συμβατότητας της βάσης δεδομένων είναι 130 (SQL Server 2016) ή ανώτερο και ένας συνδεδεμένος πίνακας περιέχει μία ή περισσότερες στήλες datetime ή datetime2, ο πίνακας μπορεί να επιστρέψει το μήνυμα #deleted στα αποτελέσματα. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα "Συνδεδεμένος πίνακας της Access SQL-Server βάση δεδομένων" #deleted.

  • Χρησιμοποιήστε τον τύπο δεδομένων "Ημερομηνία/Ώρα" της Access για να αντιστοιχίσετε τον τύπο δεδομένων datetime. Χρησιμοποιήστε τον τύπο δεδομένων εκτεταμένης ημερομηνίας/ώρας της Access για να αντιστοιχίσετε τον τύπο δεδομένων datetime2 που έχει μεγαλύτερο εύρος ημερομηνιών και ώρας. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Χρήση του τύπου δεδομένων εκτεταμένης ημερομηνίας/ώρας.

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

    • Η παραγγελία ημερομηνία μεταξύ 1/1/19 και 31/1/19 μπορεί να μην περιλαμβάνει όλες τις παραγγελίες.

    • DateOrdered Between 1/1/19 00:00:00 AM And 31/1/19 11:59:59 PM does include all orders.

Συνημμένο   Ο τύπος δεδομένων "Συνημμένο" αποθηκεύει ένα αρχείο σε μια βάση δεδομένων της Access. Στον SQL Server, έχετε διάφορες επιλογές να εξετάσετε. Μπορείτε να εξαγάγετε τα αρχεία από τη βάση δεδομένων της Access και, στη συνέχεια, να εξετάσετε το ενδεχόμενο να αποθηκεύσετε συνδέσεις προς τα αρχεία στη βάση δεδομένων του SQL Server. Εναλλακτικά, μπορείτε να χρησιμοποιήσετε τις μορφές FILESTREAM, FileTables ή Remote BLOB Store (RBS) για να διατηρήσετε τα συνημμένα που είναι αποθηκευμένα στη βάση δεδομένων του SQL Server.

Υπερ-σύνδεση    Οι πίνακες της Access έχουν στήλες υπερ-συνδέσεων που δεν υποστηρίζει ο SQL Server. Από προεπιλογή, αυτές οι στήλες θα μετατραπούν σε στήλες nvarchar (max) στον SQL Server, αλλά μπορείτε να προσαρμόσετε την αντιστοίχιση για να επιλέξετε έναν μικρότερο τύπο δεδομένων. Στη λύση της Access που χρησιμοποιείτε, εξακολουθείτε να μπορείτε να χρησιμοποιήσετε τη συμπεριφορά της υπερ-σύνδεσης σε φόρμες και αναφορές, εάν ορίσετε την ιδιότητα "Υπερ-σύνδεση" για το στοιχείο ελέγχου σε "Αληθές".

Πεδίο πολλών τιμών    Το πεδίο πολλών τιμών της Access μετατρέπεται στον SQL Server ως πεδίο ntext που περιέχει το οριοθετημένο σύνολο τιμών. Επειδή ο SQL Server δεν υποστηρίζει τύπο δεδομένων πολλών τιμών που να διαμορφώνει σχέση πολλά-προς-πολλά, ενδέχεται να απαιτείται πρόσθετη σχεδίαση και μετατροπή.

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

Σημείωση    Τα πεδία πολλών τιμών δεν μετατρέπονται και έχουν διακοπεί στην Access 2010.

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

Visual Basic

Παρόλο που η VBA δεν υποστηρίζεται από τον SQL Server, λάβετε υπόψη τα ακόλουθα πιθανά ζητήματα:

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

Συναρτήσεις που ορίζονται από το χρήστη σε ερωτήματα    Τα ερωτήματα της Microsoft Access υποστηρίζουν τη χρήση των συναρτήσεων που ορίζονται σε λειτουργικές μονάδες VBA για την επεξεργασία δεδομένων που μεταβιβάπουν σε αυτά. Τα ερωτήματα μπορούν να είναι αυτόνομα ερωτήματα, προτάσεις SQL σε προελεύσεις εγγραφών φόρμας/αναφοράς, προελεύσεις δεδομένων από σύνθετα πλαίσια και πλαίσια λίστας σε φόρμες, αναφορές και πεδία πίνακα και προεπιλεγμένες παραστάσεις κανόνα επικύρωσης. Ο SQL Server δεν μπορεί να εκτελέσει αυτές τις συναρτήσεις που ορίζονται από το χρήστη. Ίσως χρειαστεί να επανασχεδιάσετε με μη αυτόματο τρόπο αυτές τις συναρτήσεις και να τις μετατρέψετε σε αποθηκευμένες διαδικασίες στον SQL Server.

Βελτιστοποίηση επιδόσεων

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

  • Εκτελέστε μικρά ερωτήματα μόνο για ανάγνωση στο πρόγραμμα-πελάτη για πιο γρήγορη πρόσβαση.

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

  • Ελαχιστοποιήστε την κυκλοφορία δικτύου με φίλτρα και συνάθροιση για να μεταφέρετε μόνο τα δεδομένα που χρειάζεστε.

Βελτιστοποίηση επιδόσεων στο μοντέλο βάσης δεδομένων διακομιστή-πελάτη

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

Ακολουθούν πρόσθετες, προτεινόμενες οδηγίες.

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

Χρήση προβολών σε φόρμες και αναφορές    Στην Access, κάντε τα εξής:

  • Για φόρμες, χρησιμοποιήστε μια προβολή SQL για μια φόρμα μόνο για ανάγνωση και μια προβολή SQL με ευρετήριο για μια φόρμα ανάγνωσης/εγγραφής ως προέλευση εγγραφών.

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

Ελαχιστοποίηση της φόρτωσης δεδομένων σε φόρμα ή αναφορά    Να μην εμφανίζονται δεδομένα μέχρι να τα ζητήσει ο χρήστης. Για παράδειγμα, διατηρήστε κενή την ιδιότητα recordsource, κάντε τους χρήστες να επιλέξουν ένα φίλτρο στη φόρμα σας και, στη συνέχεια, συμπληρώστε την ιδιότητα recordsource με το φίλτρο. Εναλλακτικά, χρησιμοποιήστε τον όρο where των DoCmd.OpenForm και DoCmd.OpenReport για να εμφανίσετε τις ακριβείς εγγραφής που απαιτούνται από το χρήστη. Εξετάστε το ενδεχόμενο να απενεργοποιήσετε την περιήγηση εγγραφών.

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

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

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

Δείτε επίσης

Οδηγός μετεγκατάστασης βάσης δεδομένων Azure

Ιστολόγιο μετεγκατάστασης δεδομένων της Microsoft

Μετεγκατάσταση, μετατροπή και αναβάθμιση αρχείων από Microsoft Access

Τρόποι κοινής χρήσης μιας βάσης δεδομένων της Access για υπολογιστή

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

Αναπτύξτε τις δεξιότητές σας στο Office
Εξερευνήστε το περιεχόμενο της εκπαίδευσης
Αποκτήστε πρώτοι τις νέες δυνατότητες
Γίνετε μέλος του Office Insider

Σας βοήθησαν αυτές οι πληροφορίες;

Σας ευχαριστούμε για τα σχόλιά σας!

Σας ευχαριστούμε για τα σχόλιά σας! Φαίνεται ότι μπορεί να είναι χρήσιμο να συνδεθείτε με έναν από τους συνεργάτες υποστήριξης του Office.

×