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

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

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

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

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

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

Όλα τα αντικείμενα βάσης δεδομένων της Access μπορούν να βρίσκονται είτε σε ένα αρχείο βάσης δεδομένων είτε μπορούν να αποθηκευτούν σε δύο αρχεία βάσης δεδομένων: μια βάση δεδομένων προσκηνίου και μια βάση δεδομένων back-end. Αυτό ονομάζεται διαίρεση της βάσης δεδομένων και έχει σχεδιαστεί για να διευκολύνει την κοινή χρήση σε ένα περιβάλλον δικτύου. Το αρχείο βάσης δεδομένων παραφωνίου πρέπει να περιέχει μόνο πίνακες και σχέσεις. Το αρχείο προσκηνίου πρέπει να περιέχει μόνο όλα τα άλλα αντικείμενα, συμπεριλαμβανομένων φορμών, αναφορών, ερωτημάτων, μακροεντολών, λειτουργικών μονάδων VBA και συνδεδεμένων πινάκων στη βάση δεδομένων παραφωνίου. Κατά τη μετεγκατάσταση μιας βάσης δεδομένων της 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    Η πρόσβαση και τα εικονικά ιδιωτικά δίκτυα (VPN) δεν τα πάμε καλά. Ωστόσο, με SQL Server, οι απομακρυσμένοι χρήστες μπορούν να χρησιμοποιούν ακόμα τη βάση δεδομένων προσκηνίου της Access σε μια επιφάνεια εργασίας και το SQL Server παρασκηνίου που βρίσκεται πίσω από το τείχος προστασίας VPN.

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

Ορίστε την καλύτερη επιλογή SQL Server Azure

Εάν κάνετε μετεγκατάσταση στο 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 και Τι είναι το Azure SQL;.

Πρώτα βήματα

Υπάρχουν μερικά ζητήματα που μπορείτε να αντιμετωπίσετε εκ των εμπρός, τα οποία μπορούν να σας βοηθήσουν να βελτιστοποιήσετε τη διαδικασία μετεγκατάστασης πριν από την εκτέλεση 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 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 με χρονικές σημάνσεις. Παρόλο που η χρονική σήμανση λέξεων-κλειδιών είναι συνώνυμο της μετατροπής γραμμών σε 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, αποθηκεύστε το αρχείο έργου για μελλοντική χρήση, ώστε να μπορείτε να μετεγκαταστήσετε ξανά τα δεδομένα σας για δοκιμή ή τελική μετεγκατάσταση.

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

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

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

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

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

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

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

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

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

    • ΗμερομηνίαΠαραγγελθεί Μεταξύ 1/1/19 00:00:00 πμ Και 31/1/19 11:59:59 μμ περιλαμβάνει όλες τις παραγγελίες.

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

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

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

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

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

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

Visual Basic

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Για περισσότερες πληροφορίες, ανατρέξτε στα θέματα Database Engine Tuning Advisor, Χρήση του Ανάλυση απόδοσης για βελτιστοποίηση μιας βάσης δεδομένων της Access και Βελτιστοποίηση εφαρμογών της Microsoft Office Access Που συνδέονται με SQL Server.

Δείτε επίσης

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

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

Microsoft Access to SQL Server Migration, Conversion and Upsizing

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

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

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

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

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

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

Πόσο ικανοποιημένοι είστε με τη γλωσσική ποιότητα;
Τι επηρέασε την εμπειρία σας;
Πατώντας "Υποβολή" τα σχόλια σας θα χρησιμοποιηθούν για τη βελτίωση των προϊόντων και των υπηρεσιών της Microsoft. Ο διαχειριστής IT θα έχει τη δυνατότητα να συλλέξει αυτά τα δεδομένα. Δήλωση προστασίας προσωπικών δεδομένων.

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

×