Ρύθμιση παραμέτρων διακομιστή SQL σε δραστηριότητα αντιγραφής
Αυτό το άρθρο περιγράφει τον τρόπο χρήσης της δραστηριότητας αντιγραφής στη διοχέτευση δεδομένων για την αντιγραφή δεδομένων από και προς τον SQL Server.
Υποστηριζόμενη ρύθμιση παραμέτρων
Για τη ρύθμιση παραμέτρων κάθε καρτέλας στην περιοχή δραστηριότητα αντιγραφής, μεταβείτε στις ακόλουθες ενότητες αντίστοιχα.
Γενική
Ανατρέξτε στην καθοδήγηση Γενικές ρυθμίσεις για να ρυθμίσετε τις παραμέτρους της καρτέλας Γενικές ρυθμίσεις.
Πηγή
Οι ακόλουθες ιδιότητες υποστηρίζονται για τον SQL Server στην καρτέλα Προέλευση μιας δραστηριότητας αντιγραφής.
Απαιτούνται οι ακόλουθες ιδιότητες:
Τύπος χώρου αποθήκευσης δεδομένων: Επιλέξτε Εξωτερικός.
Σύνδεση: Επιλέξτε μια σύνδεση SQL Server από τη λίστα συνδέσεων. Εάν η σύνδεση δεν υπάρχει, τότε δημιουργήστε μια νέα σύνδεση SQL Server επιλέγοντας Δημιουργία.
Τύπος σύνδεσης: Επιλέξτε SQL Server.
Χρήση ερωτήματος: Καθορίστε τον τρόπο ανάγνωσης δεδομένων. Μπορείτε να επιλέξετε τη διαδικασία Πίνακας, Ερώτημα ή Αποθηκευμένη. Η παρακάτω λίστα περιγράφει τη ρύθμιση παραμέτρων κάθε ρύθμισης:
Πίνακας: Ανάγνωση δεδομένων από τον καθορισμένο πίνακα. Επιλέξτε τον πίνακα προέλευσης από την αναπτυσσόμενη λίστα ή επιλέξτε Επεξεργασία για να τον εισαγάγετε με μη αυτόματο τρόπο.
Ερώτημα: Καθορίστε το προσαρμοσμένο ερώτημα SQL για ανάγνωση δεδομένων. Ένα παράδειγμα είναι
select * from MyTable
. Εναλλακτικά, επιλέξτε το εικονίδιο μολυβιού για επεξεργασία στο πρόγραμμα επεξεργασίας κώδικα.Αποθηκευμένη διαδικασία: Χρησιμοποιήστε την αποθηκευμένη διαδικασία που διαβάζει δεδομένα από τον πίνακα προέλευσης. Η τελευταία πρόταση SQL πρέπει να είναι μια πρόταση SELECT στην αποθηκευμένη διαδικασία.
Αποθηκευμένο όνομα διαδικασίας: Επιλέξτε την αποθηκευμένη διαδικασία ή καθορίστε με μη αυτόματο τρόπο το όνομα της αποθηκευμένης διαδικασίας όταν επιλέγετε Επεξεργασία για ανάγνωση δεδομένων από τον πίνακα προέλευσης.
Αποθηκευμένες παράμετροι διαδικασίας: Καθορίστε τιμές για αποθηκευμένες παραμέτρους διαδικασίας. Οι επιτρεπόμενες τιμές είναι ζεύγη ονόματος ή τιμής. Τα ονόματα και το περίβλημα των παραμέτρων πρέπει να συμφωνούν με τα ονόματα και το περίβλημα των αποθηκευμένων παραμέτρων διαδικασίας. Μπορείτε να επιλέξετε Παραμέτρους εισαγωγής για να λάβετε τις παραμέτρους της αποθηκευμένη διαδικασίας.
Στην περιοχή Για προχωρημένους, μπορείτε να καθορίσετε τα ακόλουθα πεδία:
Χρονικό όριο ερωτήματος (λεπτά): Καθορίστε το χρονικό όριο για την εκτέλεση εντολής ερωτήματος, η προεπιλογή είναι 120 λεπτά. Εάν έχει οριστεί μια παράμετρος για αυτή την ιδιότητα, οι επιτρεπόμενες τιμές είναι χρονική διάρκεια, όπως "02:00:00" (120 λεπτά).
Επίπεδο απομόνωσης: Καθορίζει τη συμπεριφορά κλειδώματος συναλλαγών για την προέλευση SQL. Οι επιτρεπόμενες τιμές είναι: Καμία, Ανάγνωση δεσμευμένη, Ανάγνωση μη δεσμευμένη, Επαναλαμβανόμενη ανάγνωση, Σειριακοποιήσιμη ή Στιγμιότυπο. Εάν δεν καθοριστεί, χρησιμοποιείται το προεπιλεγμένο επίπεδο απομόνωσης της βάσης δεδομένων. Ανατρέξτε στην απαρίθμηση IsolationLevel για περισσότερες λεπτομέρειες.
Επιλογή διαμερίσματος: Καθορίστε τις επιλογές διαμερίσματος δεδομένων που χρησιμοποιούνται για τη φόρτωση δεδομένων από τον SQL Server. Οι επιτρεπόμενες τιμές είναι: Καμία (προεπιλογή), Φυσικά διαμερίσματα πίνακα και Δυναμική περιοχή. Όταν είναι ενεργοποιημένη μια επιλογή διαμερίσματος (δηλαδή, όχι Καμία), ο βαθμός παραλληλισμού για την ταυτόχρονη φόρτωση δεδομένων από έναν διακομιστή SQL ελέγχεται από τον Βαθμό παράλληλης αντιγραφής στην καρτέλα αντιγραφής ρυθμίσεων δραστηριότητας.
Καμία: Επιλέξτε αυτήν τη ρύθμιση για να μην χρησιμοποιήσετε διαμέρισμα.
Φυσικά διαμερίσματα πίνακα: Κατά τη χρήση ενός φυσικού διαμερίσματος, η στήλη διαμερίσματος και ο μηχανισμός καθορίζονται αυτόματα με βάση τον ορισμό του φυσικού πίνακα.
Δυναμική περιοχή: Όταν χρησιμοποιείτε το ερώτημα με παράλληλη ενεργοποίηση, απαιτείται η παράμετρος διαμερίσματος περιοχής (
?DfDynamicRangePartitionCondition
). Δείγμα ερωτήματος:SELECT * FROM <TableName> WHERE ?DfDynamicRangePartitionCondition
.Όνομα στήλης διαμερίσματος: Καθορίστε το όνομα της στήλης προέλευσης σε ακέραιο ή τύπο ημερομηνίας/ημερομηνίας/ώρας (
int
,smallint
,bigint
,date
,smalldatetime
,datetime
,datetime2
ήdatetimeoffset
) που χρησιμοποιείται από τον διαμερισμό περιοχής για παράλληλη αντιγραφή. Εάν δεν καθοριστεί, το ευρετήριο ή το πρωτεύον κλειδί του πίνακα ανιχνεύεται αυτόματα και χρησιμοποιείται ως στήλη διαμερίσματος.Εάν χρησιμοποιείτε ένα ερώτημα για να ανακτήσετε τα δεδομένα προέλευσης, αγκίστρι
?DfDynamicRangePartitionCondition
στον όρο WHERE. Για ένα παράδειγμα, ανατρέξτε στην ενότητα Παράλληλο αντίγραφο από τη βάση δεδομένων SQL.Επάνω όριο διαμερίσματος: Καθορίστε τη μέγιστη τιμή της στήλης διαμερίσματος για διαίρεση περιοχής διαμερίσματος. Αυτή η τιμή χρησιμοποιείται για να αποφασίσετε το διασκελισμό του διαμερίσματος, όχι για το φιλτράρισμα των γραμμών στον πίνακα. Όλες οι γραμμές στο αποτέλεσμα πίνακα ή ερωτήματος θα διαμεριστούν και θα αντιγραφούν. Εάν δεν καθοριστεί, αντιγράψτε αυτόματα τη δραστηριότητα και εντοπίστε την τιμή. Για ένα παράδειγμα, ανατρέξτε στην ενότητα Παράλληλο αντίγραφο από τη βάση δεδομένων SQL.
Διαμέρισμα κάτω όριο: Καθορίστε την ελάχιστη τιμή της στήλης διαμερίσματος για διαίρεση περιοχής διαμερίσματος. Αυτή η τιμή χρησιμοποιείται για να αποφασίσετε το διασκελισμό του διαμερίσματος, όχι για το φιλτράρισμα των γραμμών στον πίνακα. Όλες οι γραμμές στο αποτέλεσμα πίνακα ή ερωτήματος θα διαμεριστούν και θα αντιγραφούν. Εάν δεν καθοριστεί, αντιγράψτε αυτόματα τη δραστηριότητα και εντοπίστε την τιμή. Για ένα παράδειγμα, ανατρέξτε στην ενότητα Παράλληλο αντίγραφο από τη βάση δεδομένων SQL.
Πρόσθετες στήλες: Προσθέστε επιπλέον στήλες δεδομένων για να αποθηκεύσετε τη σχετική διαδρομή ή τη στατική τιμή αρχείων προέλευσης. Η παράσταση υποστηρίζεται για το τελευταίο.
Σημειώστε τα ακόλουθα σημεία:
- Εάν έχει καθοριστεί ερώτημα για την προέλευση, η δραστηριότητα αντιγραφής εκτελεί αυτό το ερώτημα στην προέλευση SQL Server για τη λήψη των δεδομένων. Μπορείτε επίσης να καθορίσετε μια αποθηκευμένη διαδικασία καθορίζοντας το Όνομα αποθηκευμένης διαδικασίας και τις παραμέτρους Αποθηκευμένη διαδικασία, εάν η αποθηκευμένη διαδικασία λαμβάνει παραμέτρους.
- Όταν χρησιμοποιείτε την αποθηκευμένη διαδικασία στην προέλευση για την ανάκτηση δεδομένων, σημειώστε ότι εάν η αποθηκευμένη διαδικασία έχει σχεδιαστεί ως επιστροφή διαφορετικού σχήματος όταν μεταβιβάζεται διαφορετική τιμή παραμέτρου, ενδέχεται να αντιμετωπίσετε αποτυχία ή να δείτε μη αναμενόμενο αποτέλεσμα κατά την εισαγωγή σχήματος από το περιβάλλον εργασίας χρήστη ή κατά την αντιγραφή δεδομένων σε βάση δεδομένων SQL με αυτόματη δημιουργία πίνακα.
Προορισμός
Οι ακόλουθες ιδιότητες υποστηρίζονται για sql server στην καρτέλα Προορισμός μιας δραστηριότητας αντιγραφής.
Απαιτούνται οι ακόλουθες ιδιότητες:
Τύπος χώρου αποθήκευσης δεδομένων: Επιλέξτε Εξωτερικός.
Σύνδεση: Επιλέξτε μια σύνδεση SQL server από τη λίστα συνδέσεων. Εάν η σύνδεση δεν υπάρχει, τότε δημιουργήστε μια νέα σύνδεση SQL Server επιλέγοντας Δημιουργία.
Τύπος σύνδεσης: Επιλέξτε SQL Server.
Επιλογή πίνακα: Μπορείτε να επιλέξετε Χρήση υπάρχοντος για να χρησιμοποιήσετε τον καθορισμένο πίνακα. Εναλλακτικά, επιλέξτε Αυτόματη δημιουργία πίνακα για να δημιουργήσετε αυτόματα έναν πίνακα προορισμού εάν ο πίνακας δεν υπάρχει στο σχήμα προέλευσης και σημειώστε ότι αυτή η επιλογή δεν υποστηρίζεται όταν χρησιμοποιείται η αποθηκευμένη διαδικασία ως συμπεριφορά εγγραφής.
Εάν επιλέξετε Χρήση υπάρχουσας:
- Πίνακας: Επιλέξτε τον πίνακα στη βάση δεδομένων προορισμού σας από την αναπτυσσόμενη λίστα. Εναλλακτικά, επιλέξτε Επεξεργασία για να εισαγάγετε το όνομα του πίνακά σας με μη αυτόματο τρόπο.
Εάν επιλέξετε: Αυτόματη δημιουργία πίνακα:
- Πίνακας: Καθορίστε το όνομα για τον πίνακα προορισμού που δημιουργήσατε αυτόματα.
Στην περιοχή Για προχωρημένους, μπορείτε να καθορίσετε τα ακόλουθα πεδία:
Συμπεριφορά εγγραφής: Καθορίζει τη συμπεριφορά εγγραφής όταν η προέλευση είναι αρχεία από έναν χώρο αποθήκευσης δεδομένων που βασίζεται σε αρχείο. Μπορείτε να επιλέξετε τη διαδικασία Εισαγωγή, Upsert ή Αποθηκευμένη.
Εισαγωγή: Ενεργοποιήστε αυτήν την επιλογή χρησιμοποιήστε τη συμπεριφορά εισαγωγής εγγραφής για να φορτώσετε δεδομένα στον SQL Server.
Upsert: Ενεργοποιήστε αυτή την επιλογή χρησιμοποιήστε τη συμπεριφορά upsert εγγραφής για να φορτώσετε δεδομένα στον SQL Server.
Χρησιμοποιήστε το TempDB: Καθορίστε εάν θα χρησιμοποιήσετε έναν καθολικό προσωρινό πίνακα ή έναν φυσικό πίνακα ως ενδιάμεσο πίνακα για upsert. Από προεπιλογή, η υπηρεσία χρησιμοποιεί καθολικό προσωρινό πίνακα ως ενδιάμεσο πίνακα και αυτή η ιδιότητα επιλέγεται.
Επιλέξτε το σχήμα βάσης δεδομένων χρήστη: Όταν δεν είναι επιλεγμένο το στοιχείο Χρήση TempDB , καθορίστε το ενδιάμεσο σχήμα για τη δημιουργία ενός ενδιάμεσου πίνακα, εάν χρησιμοποιείται ένας φυσικός πίνακας.
Σημείωμα
Πρέπει να έχετε το δικαίωμα δημιουργίας και διαγραφής πινάκων. Από προεπιλογή, ένας ενδιάμεσος πίνακας θα μοιράζεται το ίδιο σχήμα με έναν πίνακα προορισμού.
Στήλες κλειδιού: Καθορίστε τα ονόματα των στηλών για μοναδική αναγνώριση γραμμών. Μπορεί να χρησιμοποιηθεί είτε ένα κλειδί είτε μια σειρά κλειδιών. Εάν δεν καθοριστεί, χρησιμοποιείται το πρωτεύον κλειδί.
Αποθηκευμένη διαδικασία: Χρησιμοποιήστε την αποθηκευμένη διαδικασία που ορίζει τον τρόπο εφαρμογής των δεδομένων προέλευσης σε έναν πίνακα προορισμού. Αυτή η αποθηκευμένη διαδικασία καλείται ανά δέσμη. Για λειτουργίες που εκτελούνται μόνο μία φορά και δεν έχουν καμία σχέση με τα δεδομένα προέλευσης, για παράδειγμα, διαγραφή ή περικόπτωση, χρησιμοποιήστε την ιδιότητα δέσμης ενεργειών προ-αντιγραφής.
Αποθηκευμένο όνομα διαδικασίας: Επιλέξτε την αποθηκευμένη διαδικασία ή καθορίστε με μη αυτόματο τρόπο το όνομα της αποθηκευμένης διαδικασίας κατά τον έλεγχο της επεξεργασίας για ανάγνωση δεδομένων από τον πίνακα προέλευσης.
Αποθηκευμένες παράμετροι διαδικασίας:
- Τύπος πίνακα: Καθορίστε το όνομα του τύπου πίνακα που θα χρησιμοποιηθεί στην αποθηκευμένη διαδικασία. Η δραστηριότητα αντιγραφής καθιστά τα δεδομένα που μετακινούνται διαθέσιμα σε έναν προσωρινό πίνακα με αυτόν τον τύπο πίνακα. Ο κώδικας αποθηκευμένης διαδικασίας μπορεί τότε να συγχωνεύσει τα δεδομένα που αντιγράφονται με υπάρχοντα δεδομένα.
- Όνομα παραμέτρου τύπου πίνακα: Καθορίστε το όνομα παραμέτρου του τύπου πίνακα που καθορίζεται στην αποθηκευμένη διαδικασία.
- Παράμετροι: Καθορίστε τιμές για αποθηκευμένες παραμέτρους διαδικασίας. Οι επιτρεπόμενες τιμές είναι ζεύγη ονόματος ή τιμής. Τα ονόματα και το περίβλημα των παραμέτρων πρέπει να συμφωνούν με τα ονόματα και το περίβλημα των αποθηκευμένων παραμέτρων διαδικασίας. Μπορείτε να επιλέξετε Παραμέτρους εισαγωγής για να λάβετε τις παραμέτρους της αποθηκευμένη διαδικασίας.
Κλείδωμα πίνακα μαζικής εισαγωγής: Επιλέξτε Ναι ή Όχι (προεπιλογή). Χρησιμοποιήστε αυτήν τη ρύθμιση για να βελτιώσετε τις επιδόσεις αντιγραφής κατά τη διάρκεια μιας λειτουργίας μαζικής εισαγωγής σε έναν πίνακα χωρίς ευρετήριο από πολλά προγράμματα-πελάτες. Μπορείτε να καθορίσετε αυτή την ιδιότητα όταν επιλέγετε Εισαγωγή ή Upsert ως συμπεριφορά εγγραφής. Για περισσότερες πληροφορίες, μεταβείτε στη μαζική εισαγωγή (Transact-SQL)
Δέσμη ενεργειών προ-αντιγραφής: Καθορίστε μια δέσμη ενεργειών για αντιγραφή δραστηριότητας που θα εκτελεστεί πριν από την εγγραφή δεδομένων σε έναν πίνακα προορισμού σε κάθε εκτέλεση. Μπορείτε να χρησιμοποιήσετε αυτή την ιδιότητα για να εκκαθαρίσετε τα προφορτωμένα δεδομένα.
Χρονικό όριο δέσμης εγγραφής: Καθορίστε τον χρόνο αναμονής για την ολοκλήρωση της λειτουργίας εισαγωγής δέσμης προτού λήξει. Η επιτρεπόμενη τιμή είναι το χρονικό διάστημα. Εάν δεν έχει καθοριστεί τιμή, το χρονικό όριο ορίζεται από προεπιλογή σε "02:00:00".
Μέγεθος δέσμης εγγραφής: Καθορίστε τον αριθμό των γραμμών που θα εισαχθούν στον πίνακα SQL ανά δέσμη. Η επιτρεπόμενη τιμή είναι ακέραιος (αριθμός γραμμών). Από προεπιλογή, η υπηρεσία προσδιορίζει δυναμικά το κατάλληλο μέγεθος δέσμης με βάση το μέγεθος της γραμμής.
Μέγιστες ταυτόχρονες συνδέσεις: Το ανώτατο όριο ταυτόχρονων συνδέσεων που δημιουργούνται στον χώρο αποθήκευσης δεδομένων κατά την εκτέλεση της δραστηριότητας. Καθορίστε μια τιμή μόνο όταν θέλετε να περιορίσετε τις ταυτόχρονες συνδέσεις.
Αντιστοίχιση
Για τη ρύθμιση παραμέτρων της καρτέλας Αντιστοίχιση , εάν δεν εφαρμόσετε τον SQL Server με την αυτόματη δημιουργία πίνακα ως προορισμό σας, μεταβείτε στην Αντιστοίχιση.
Εάν εφαρμόσετε τον SQL Server με την αυτόματη δημιουργία πίνακα ως προορισμό σας, με την εξαίρεση της ρύθμισης παραμέτρων στην Αντιστοίχιση, μπορείτε να επεξεργαστείτε τον τύπο για τις στήλες προορισμού σας. Αφού επιλέξετε Εισαγωγή σχημάτων, μπορείτε να καθορίσετε τον τύπο στήλης στον προορισμό σας.
Για παράδειγμα, ο τύπος για τη στήλη ID στην προέλευση είναι ενσωματωμένος και μπορείτε να τον αλλάξετε σε τύπο κινητής υποδιαστολής κατά την αντιστοίχιση στη στήλη προορισμού.
Ρυθμίσεις
Για τη ρύθμιση παραμέτρων καρτέλας Ρυθμίσεις , μεταβείτε στην επιλογή Ρύθμιση παραμέτρων των άλλων ρυθμίσεων σας στην καρτέλα Ρυθμίσεις.
Παράλληλο αντίγραφο από τη βάση δεδομένων SQL
Η σύνδεση SQL Server στη δραστηριότητα αντιγραφής παρέχει ενσωματωμένο διαμερισμό δεδομένων για την παράλληλη αντιγραφή δεδομένων. Μπορείτε να βρείτε επιλογές διαμείσματος δεδομένων στην καρτέλα Προέλευση της δραστηριότητας αντιγραφής.
Όταν ενεργοποιείτε το διαμετρημένο αντίγραφο, αντιγραφή δραστηριότητας εκτελεί παράλληλα ερωτήματα σε σχέση με την προέλευση SQL Server για τη φόρτωση δεδομένων μέσω διαμερισμάτων. Ο παράλληλος βαθμός ελέγχεται από τον Βαθμό παράλληλης αντιγραφής στην καρτέλα ρυθμίσεων δραστηριότητας αντιγραφής. Για παράδειγμα, εάν ορίσετε τον Βαθμό παράλληλης αντιγραφής σε τέσσερα, η υπηρεσία δημιουργεί και εκτελεί ταυτόχρονα τέσσερα ερωτήματα με βάση την καθορισμένη επιλογή διαμερίσματος και τις ρυθμίσεις σας και κάθε ερώτημα ανακτά ένα τμήμα δεδομένων από τον SQL Server σας.
Συνιστάται να ενεργοποιήσετε την παράλληλη αντιγραφή με τον διαμερισμό δεδομένων, ιδιαίτερα όταν φορτώνετε μεγάλο όγκο δεδομένων από τον SQL Server. Ακολουθούν προτεινόμενες ρυθμίσεις παραμέτρων για διαφορετικά σενάρια. Κατά την αντιγραφή δεδομένων σε χώρο αποθήκευσης δεδομένων που βασίζεται σε αρχεία, συνιστάται να γράφετε σε έναν φάκελο ως πολλαπλά αρχεία (να καθορίζετε μόνο το όνομα του φακέλου), όπου, σε αυτή την περίπτωση, οι επιδόσεις είναι καλύτερες από την εγγραφή σε ένα μόνο αρχείο.
Σενάριο | Προτεινόμενες ρυθμίσεις |
---|---|
Πλήρης φόρτωση από μεγάλο πίνακα, με φυσικά διαμερίσματα. | Επιλογή διαμερίσματος: Φυσικά διαμερίσματα του πίνακα. Κατά την εκτέλεση, η υπηρεσία εντοπίζει αυτόματα τα φυσικά διαμερίσματα και αντιγράφει δεδομένα κατά διαμερίσματα. Για να ελέγξετε εάν ο πίνακάς σας έχει φυσικό διαμέρισμα ή όχι, μπορείτε να αναφερθείτε σε αυτό το ερώτημα. |
Πλήρης φόρτωση από μεγάλο πίνακα, χωρίς φυσικά διαμερίσματα, ενώ με στήλη ακέραιου ή στήλη ημερομηνίας/ώρας για διαμερισμό δεδομένων. | Επιλογές διαμερίσματος: Διαμέρισμα δυναμικής περιοχής. Στήλη διαμερίσματος (προαιρετικό): Καθορίστε τη στήλη που χρησιμοποιείται για τον διαμερισμό δεδομένων. Εάν δεν καθοριστεί, χρησιμοποιείται η στήλη πρωτεύοντος κλειδιού. Διαμέρισμα επάνω δεσμευμένο και διαμέρισμα κάτω όριο (προαιρετικό): Καθορίστε αν θέλετε να προσδιορίσετε τον διασκελισμό του διαμερίσματος. Αυτό δεν αφορά το φιλτράρισμα των γραμμών στον πίνακα. Όλες οι γραμμές του πίνακα θα διαμεριστούν και θα αντιγραφούν. Εάν δεν καθοριστεί, αντιγράψτε αυτόματα τις τιμές και μπορεί να χρειαστεί πολύς χρόνος, ανάλογα με τις τιμές MIN και MAX. Συνιστάται να παρέχετε επάνω όριο και κάτω όριο. Για παράδειγμα, εάν η στήλη διαμερίσματος "ID" έχει τιμές που κυμαίνονται από 1 έως 100 και ορίσετε το χαμηλότερο όριο ως 20 και το επάνω όριο ως 80, με παράλληλη αντιγραφή ως 4, η υπηρεσία ανακτά δεδομένα κατά 4 διαμερίσματα - αναγνωριστικά στην περιοχή <=20, [21, 50], [51, 80] και >=81, αντίστοιχα. |
Φορτώστε ένα μεγάλο όγκο δεδομένων χρησιμοποιώντας ένα προσαρμοσμένο ερώτημα, χωρίς φυσικά διαμερίσματα, ενώ με μια στήλη ακέραιου ή ημερομηνίας/ημερομηνίας/ώρας για τον διαμερισμό δεδομένων. | Επιλογές διαμερίσματος: Διαμέρισμα δυναμικής περιοχής. Ερώτημα: SELECT * FROM <TableName> WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause> .Στήλη διαμερίσματος: Καθορίστε τη στήλη που χρησιμοποιείται για τον διαμερισμό δεδομένων. Διαμέρισμα επάνω δεσμευμένο και διαμέρισμα κάτω όριο (προαιρετικό): Καθορίστε αν θέλετε να προσδιορίσετε τον διασκελισμό του διαμερίσματος. Αυτό δεν αφορά το φιλτράρισμα των γραμμών στον πίνακα. Όλες οι γραμμές στο αποτέλεσμα του ερωτήματος θα διαμεριστούν και θα αντιγραφούν. Εάν δεν καθοριστεί, αντιγράψτε αυτόματα τη δραστηριότητα και εντοπίστε την τιμή. Για παράδειγμα, εάν η στήλη διαμερίσματος "ID" έχει τιμές που κυμαίνονται από 1 έως 100 και ορίσετε το χαμηλότερο όριο ως 20 και το επάνω όριο ως 80, με παράλληλο αντίγραφο ως 4, η υπηρεσία ανακτά δεδομένα κατά 4 διαμερίσματα- αναγνωριστικά στην περιοχή <=20, [21, 50], [51, 80]και >=81, αντίστοιχα. Δείτε περισσότερα δείγματα ερωτημάτων για διαφορετικά σενάρια: • Υποβάλετε ερώτημα σε ολόκληρο τον πίνακα: SELECT * FROM <TableName> WHERE ?DfDynamicRangePartitionCondition • Υποβολή ερωτήματος από έναν πίνακα με επιλογή στήλης και πρόσθετα φίλτρα όπου-όρου: SELECT <column_list> FROM <TableName> WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause> • Ερώτημα με δευτερεύοντα ερωτήματα: SELECT <column_list> FROM (<your_sub_query>) AS T WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause> • Ερώτημα με διαμέρισμα σε δευτερεύον ερώτημα: SELECT <column_list> FROM (SELECT <your_sub_query_column_list> FROM <TableName> WHERE ?DfDynamicRangePartitionCondition) AS T |
Βέλτιστες πρακτικές για τη φόρτωση δεδομένων με επιλογή διαμερίσματος:
- Επιλέξτε μια χαρακτηριστική στήλη ως στήλη διαμερίσματος (όπως πρωτεύον κλειδί ή μοναδικό κλειδί) για να αποφύγετε την αλλοιοποίηση των δεδομένων.
- Εάν ο πίνακας έχει ενσωματωμένο διαμέρισμα, χρησιμοποιήστε την επιλογή διαμερίσματος Φυσικά διαμερίσματα του πίνακα για καλύτερη απόδοση.
Δείγμα ερωτήματος για έλεγχο του φυσικού διαμερίσματος
SELECT DISTINCT s.name AS SchemaName, t.name AS TableName, pf.name AS PartitionFunctionName, c.name AS ColumnName, iif(pf.name is null, 'no', 'yes') AS HasPartition
FROM sys.tables AS t
LEFT JOIN sys.objects AS o ON t.object_id = o.object_id
LEFT JOIN sys.schemas AS s ON o.schema_id = s.schema_id
LEFT JOIN sys.indexes AS i ON t.object_id = i.object_id
LEFT JOIN sys.index_columns AS ic ON ic.partition_ordinal > 0 AND ic.index_id = i.index_id AND ic.object_id = t.object_id
LEFT JOIN sys.columns AS c ON c.object_id = ic.object_id AND c.column_id = ic.column_id
LEFT JOIN sys.partition_schemes ps ON i.data_space_id = ps.data_space_id
LEFT JOIN sys.partition_functions pf ON pf.function_id = ps.function_id
WHERE s.name='[your schema]' AND t.name = '[your table name]'
Εάν ο πίνακας έχει φυσικό διαμέρισμα, θα βλέπετε το "HasPartition" ως "ναι" όπως το παρακάτω.
Σύνοψη πίνακα
Ανατρέξτε στον παρακάτω πίνακα για τη σύνοψη και περισσότερες πληροφορίες για τη δραστηριότητα αντιγραφής διακομιστή SQL.
Πληροφορίες προέλευσης
Ονομασία | Περιγραφή | Τιμή | Απαραίτητο | Ιδιότητα δέσμης ενεργειών JSON |
---|---|---|---|---|
Τύπος χώρου αποθήκευσης δεδομένων | Ο τύπος του χώρου αποθήκευσης δεδομένων σας. | Εξωτερικός | Όχι | / |
Σύνδεση | Η σύνδεσή σας με τον χώρο αποθήκευσης δεδομένων προέλευσης. | < η σύνδεσή σας > | Όχι | σύνδεση |
Τύπος σύνδεσης | Ο τύπος σύνδεσής σας. Επιλέξτε SQL Server. | SQL Server | Όχι | / |
Χρήση ερωτήματος | Το προσαρμοσμένο ερώτημα SQL για ανάγνωση δεδομένων. | •Τραπέζι •Ερώτηση • Αποθηκευμένη διαδικασία |
Όχι | / |
Πίνακας | Ο πίνακας δεδομένων προέλευσης. | < το όνομα του πίνακά σας> | Όχι | Σχήματος πίνακας |
Ερώτηση | Το προσαρμοσμένο ερώτημα SQL για ανάγνωση δεδομένων. | < το ερώτημά σας > | Όχι | sqlReaderQuery |
Όνομα αποθηκευμένη διαδικασίας | Αυτή η ιδιότητα είναι το όνομα της αποθηκευμένης διαδικασίας που διαβάζει δεδομένα από τον πίνακα προέλευσης. Η τελευταία πρόταση SQL πρέπει να είναι μια πρόταση SELECT στην αποθηκευμένη διαδικασία. | < όνομα αποθηκευμένη διαδικασίας > | Όχι | sqlReaderStoredProcedureName |
Παράμετρος αποθηκευμένης διαδικασίας | Αυτές οι παράμετροι αφορούν την αποθηκευμένη διαδικασία. Οι επιτρεπόμενες τιμές είναι ζεύγη ονόματος ή τιμής. Τα ονόματα και το περίβλημα των παραμέτρων πρέπει να συμφωνούν με τα ονόματα και το περίβλημα των αποθηκευμένων παραμέτρων διαδικασίας. | < ζεύγη ονόματος ή τιμής > | Όχι | storedProcedureParameters |
Χρονικό όριο ερωτήματος | Το χρονικό όριο για την εκτέλεση εντολών ερωτήματος. | χρονικό διάστημα (η προεπιλογή είναι 120 λεπτά) |
Όχι | queryTimeout |
Επίπεδο απομόνωσης | Καθορίζει τη συμπεριφορά κλειδώματος συναλλαγών για την προέλευση SQL. | • Ανάγνωση δεσμευμένη • Ανάγνωση χωρίς δέσμευση • Επαναλαμβανόμενη ανάγνωση • Με δυνατότητα σειριοποιήσιμης •Στιγμιότυπο |
Όχι | isolationLevel: • Ανάγνωση-δέσμευση • ΑνάγνωσηΑναφορά • RepeatableRead • Με δυνατότητα σειριοποιήσιμης •Στιγμιότυπο |
Επιλογή διαμερίσματος | Οι επιλογές διαμείσματος δεδομένων που χρησιμοποιούνται για τη φόρτωση δεδομένων από τον SQL Server. | • Καμία (προεπιλογή) • Φυσικά διαμερίσματα πίνακα •Δυναμική περιοχή |
Όχι | partitionOption: • Καμία (προεπιλογή) • PhysicalPartitionsOfTable • DynamicRange |
Όνομα στήλης διαμερίσματος | Το όνομα της στήλης προέλευσης σε ακέραιο ή τύπο ημερομηνίας/ημερομηνίας/ώρας (int , smallint , , date bigint , smalldatetime , datetime , datetime2 ή datetimeoffset ) που χρησιμοποιείται από τον διαμερισμό περιοχής για παράλληλη αντιγραφή. Εάν δεν καθοριστεί, το ευρετήριο ή το πρωτεύον κλειδί του πίνακα ανιχνεύεται αυτόματα και χρησιμοποιείται ως στήλη διαμερίσματος. Εάν χρησιμοποιείτε ένα ερώτημα για να ανακτήσετε τα δεδομένα προέλευσης, αγκίστρι ?DfDynamicRangePartitionCondition στον όρο WHERE. |
< τα ονόματα των στηλών διαμερίσματος > | Όχι | partitionColumnName |
Επάνω όριο διαμερίσματος | Η μέγιστη τιμή της στήλης διαμερίσματος για διαίρεση περιοχής διαμερίσματος. Αυτή η τιμή χρησιμοποιείται για να αποφασίσετε το διασκελισμό του διαμερίσματος, όχι για το φιλτράρισμα των γραμμών στον πίνακα. Όλες οι γραμμές στο αποτέλεσμα πίνακα ή ερωτήματος θα διαμεριστούν και θα αντιγραφούν. Εάν δεν καθοριστεί, αντιγράψτε αυτόματα τη δραστηριότητα και εντοπίστε την τιμή. | < το επάνω όριο του διαμερίσματός σας > | Όχι | partitionUpperBound |
Διαμέρισμα κάτω όριο | Η ελάχιστη τιμή της στήλης διαμερίσματος για διαίρεση περιοχής διαμερίσματος. Αυτή η τιμή χρησιμοποιείται για να αποφασίσετε το διασκελισμό του διαμερίσματος, όχι για το φιλτράρισμα των γραμμών στον πίνακα. Όλες οι γραμμές στο αποτέλεσμα πίνακα ή ερωτήματος θα διαμεριστούν και θα αντιγραφούν. Εάν δεν καθοριστεί, αντιγράψτε αυτόματα τη δραστηριότητα και εντοπίστε την τιμή. | < το διαμέρισμα κάτω όριο > | Όχι | partitionLowerBound |
Πρόσθετες στήλες | Προσθέστε επιπλέον στήλες δεδομένων για να αποθηκεύσετε τη σχετική διαδρομή ή τη στατική τιμή των αρχείων προέλευσης. Η παράσταση υποστηρίζεται για το τελευταίο. | • Πλήρες όνομα •Τιμή |
Όχι | πρόσθετες στηλών: •Όνομα •τιμή |
Πληροφορίες προορισμού
Ονομασία | Περιγραφή | Τιμή | Απαραίτητο | Ιδιότητα δέσμης ενεργειών JSON |
---|---|---|---|---|
Τύπος χώρου αποθήκευσης δεδομένων | Ο τύπος του χώρου αποθήκευσης δεδομένων σας. | Εξωτερικός | Όχι | / |
Σύνδεση | Η σύνδεσή σας με τον χώρο αποθήκευσης δεδομένων προορισμού. | < η σύνδεσή σας > | Όχι | σύνδεση |
Τύπος σύνδεσης | Ο τύπος σύνδεσής σας. Επιλέξτε SQL Server. | SQL Server | Όχι | / |
Επιλογή "Πίνακας" | Καθορίζει εάν θα δημιουργηθεί αυτόματα ο πίνακας προορισμού εάν δεν υπάρχει με βάση το σχήμα προέλευσης. | • Χρήση υπάρχουσας • Αυτόματη δημιουργία πίνακα |
Όχι | tableOption: • αυτόματη δημιουργία |
Πίνακας | Ο πίνακας δεδομένων προορισμού σας. | <το όνομα του πίνακά σας> | Όχι | Σχήματος πίνακας |
Συμπεριφορά εγγραφής | Η συμπεριφορά εγγραφής για την αντιγραφή δραστηριότητας για τη φόρτωση δεδομένων στη βάση δεδομένων SQL Server.. | •Ενθέτω • Upsert • Αποθηκευμένη διαδικασία |
Όχι | writeBehavior: •ενθέτω • upsert sqlWriterStoredProcedureName, sqlWriterTableType, storedProcedureTableTypeParameterName, storedProcedureParameters |
Χρήση Του TempDB | Ορίζει εάν θα χρησιμοποιηθεί ένας καθολικός προσωρινός πίνακας ή ένας φυσικός πίνακας ως προσωρινός πίνακας για upsert. | επιλεγμένο (προεπιλογή) ή μη επιλεγμένο | Όχι | χρησιμοποιήστε τη συνάρτησηTempDB: true (προεπιλογή) ή false |
Επιλογή σχήματος βάσης δεδομένων χρήστη | Το ενδιάμεσο σχήμα για τη δημιουργία ενδιάμεσου πίνακα εάν χρησιμοποιείται ο φυσικός πίνακας. Σημείωση: ο χρήστης πρέπει να έχει το δικαίωμα δημιουργίας και διαγραφής πίνακα. Από προεπιλογή, ο ενδιάμεσος πίνακας θα μοιράζεται το ίδιο σχήμα με τον πίνακα προορισμού. Εφαρμόστε όταν δεν επιλέξετε Χρήση TempDB. | επιλεγμένο (προεπιλογή) ή μη επιλεγμένο | Όχι | interimSchemaName |
Στήλες κλειδιού | Τα ονόματα των στηλών για μοναδική αναγνώριση γραμμών. Μπορεί να χρησιμοποιηθεί είτε ένα κλειδί είτε μια σειρά κλειδιών. Εάν δεν καθοριστεί, χρησιμοποιείται το πρωτεύον κλειδί. | < η στήλη κλειδιού σας> | Όχι | Κλειδιά |
Όνομα αποθηκευμένη διαδικασίας | Το όνομα της αποθηκευμένης διαδικασίας που ορίζει τον τρόπο εφαρμογής των δεδομένων προέλευσης σε έναν πίνακα προορισμού. Αυτή η αποθηκευμένη διαδικασία καλείται ανά δέσμη. Για λειτουργίες που εκτελούνται μόνο μία φορά και δεν έχουν καμία σχέση με τα δεδομένα προέλευσης, για παράδειγμα, διαγραφή ή περικόπτονται, χρησιμοποιήστε την ιδιότητα Δέσμη ενεργειών προ-αντιγραφής. | < το όνομα της αποθηκευμένη διαδικασίας σας > | Όχι | sqlWriterStoredProcedureName |
Τύπος πίνακα | Το όνομα του τύπου πίνακα που θα χρησιμοποιηθεί στην αποθηκευμένη διαδικασία. Η δραστηριότητα αντιγραφής καθιστά τα δεδομένα που μετακινούνται διαθέσιμα σε έναν προσωρινό πίνακα με αυτόν τον τύπο πίνακα. Ο κώδικας αποθηκευμένης διαδικασίας μπορεί τότε να συγχωνεύσει τα δεδομένα που αντιγράφονται με υπάρχοντα δεδομένα. | < το όνομα του τύπου πίνακα > | Όχι | sqlWriterTableType |
Όνομα παραμέτρου τύπου πίνακα | Το όνομα παραμέτρου του τύπου πίνακα που καθορίζεται στην αποθηκευμένη διαδικασία. | < το όνομα παραμέτρου του τύπου πίνακα > | Όχι | storedProcedureTableTypeParameterName |
Παράμετροι | Παράμετροι για την αποθηκευμένη διαδικασία. Οι επιτρεπόμενες τιμές είναι ζεύγη ονόματος και τιμής. Τα ονόματα και το περίβλημα των παραμέτρων πρέπει να συμφωνούν με τα ονόματα και το περίβλημα των αποθηκευμένων παραμέτρων διαδικασίας. | < ζεύγη ονόματος και τιμής > | Όχι | storedProcedureParameters |
Κλείδωμα πίνακα μαζικής εισαγωγής | Χρησιμοποιήστε αυτήν τη ρύθμιση για να βελτιώσετε τις επιδόσεις αντιγραφής κατά τη διάρκεια μιας λειτουργίας μαζικής εισαγωγής σε έναν πίνακα χωρίς ευρετήριο από πολλά προγράμματα-πελάτες. | Ναι ή Όχι (προεπιλογή) | Όχι | sqlWriterUseTableLock: true ή false (προεπιλογή) |
Προ-αντιγραφή δέσμης ενεργειών | Μια δέσμη ενεργειών για αντιγραφή δραστηριότητας προς εκτέλεση πριν από την εγγραφή δεδομένων σε έναν πίνακα προορισμού σε κάθε εκτέλεση. Μπορείτε να χρησιμοποιήσετε αυτή την ιδιότητα για να εκκαθαρίσετε τα προφορτωμένα δεδομένα. | < προ-αντιγραφή δέσμης ενεργειών > (συμβολοσειρά) |
Όχι | preCopyScript |
Χρονικό όριο δέσμης εγγραφής | Ο χρόνος αναμονής για την ολοκλήρωση της λειτουργίας εισαγωγής δέσμης προτού λήξει. | χρονικό διάστημα (η προεπιλογή είναι "02:00:00") |
Όχι | writeBatchTimeout |
Μέγεθος δέσμης εγγραφής | Ο αριθμός των γραμμών που θα εισαχθούν στον πίνακα SQL ανά δέσμη. Από προεπιλογή, η υπηρεσία προσδιορίζει δυναμικά το κατάλληλο μέγεθος δέσμης με βάση το μέγεθος της γραμμής. | < αριθμός γραμμών > (ακέραιος) |
Όχι | writeBatchSize |
Μέγιστος αριθμός ταυτόχρονων συνδέσεων | Το ανώτατο όριο ταυτόχρονων συνδέσεων που καθορίζονται στον χώρο αποθήκευσης δεδομένων κατά την εκτέλεση της δραστηριότητας. Καθορίστε μια τιμή μόνο όταν θέλετε να περιορίσετε τις ταυτόχρονες συνδέσεις. | < ανώτατο όριο ταυτόχρονων συνδέσεων > (ακέραιος) |
Όχι | maxConcurrentConnections |