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

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

Επιλέξτε την καλύτερη επιλογή 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 και Τι είναι το Azure SQL;.

Πρώτα βήματα

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

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

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

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

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

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

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

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

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

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

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

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

Μεγάλος αριθμός    Ο τύπος δεδομένων "Μεγάλος αριθμός" αποθηκεύει μια μη νομισματική, αριθμητική τιμή και είναι συμβατός με τον τύπο δεδομένων SQL bigint. Μπορείτε να χρησιμοποιήσετε αυτόν τον τύπο δεδομένων για τον αποτελεσματικό υπολογισμό μεγάλων αριθμών, αλλά απαιτεί τη χρήση της μορφής αρχείου βάσης δεδομένων .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) ή νεότερη έκδοση και ένας συνδεδεμένος πίνακας περιέχει μία ή περισσότερες στήλες ημερομηνίας/ώρας ή 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.

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

Δείτε επίσης

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

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

Microsoft Access to SQL Server Migration, Conversion and Upsizing

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

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

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

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

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

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

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

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

×