Ενεργοποίηση συνδρομών ανανεώσιμης αναπαραγωγής συναλλαγών στον SQL Server 2019

Ημερομηνία δημιουργίας σελίδας :

Εισαγωγή και προφυλάξεις

Αυτό το άρθρο προορίζεται για αναπαραγωγή στον SQL Server 2019. Μία από τις λειτουργίες σε αυτό είναι η "ανανεώσιμη συνδρομή" είναι ενεργοποιημένη.

Αυτή η δυνατότητα ενεργοποιήθηκε από προεπιλογή σε προηγούμενες εκδόσεις του SQL Server, αλλά έχει απενεργοποιηθεί από το (πιθανώς) 2017.

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

αναφορά

περιβάλλον

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

1η μονάδα (πλευρά δημοσίευσης)
  • Τυπική έκδοση του Windows Server 2019
  • Έκδοση προγραμματιστή του SQL Server 2019 (απαιτείται τυπική έκδοση ή υψηλότερη)
  • Στούντιο διαχείρισης διακομιστή SQL 18.9.1
Δεύτερη μονάδα (πλευρά συνδρομητή)
  • Τυπική έκδοση του Windows Server 2019
  • Έκδοση εξπρές του SQL Server 2019
  • Στούντιο διαχείρισης διακομιστή SQL 18.9.1

σκοπός

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

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

Εγκατάσταση του SQL Server

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

Η εγκατάσταση της πλευράς δημοσίευσης απαιτεί τυπική έκδοση ή υψηλότερη. Αυτές οι συμβουλές εγκαθιστούν το Developer Edition ως περιβάλλον δοκιμής.

Οι συνδρομητές είναι εντάξει με την Express Edition. Φυσικά, άλλες εκδόσεις είναι καλές, ανάλογα με τη διαμόρφωση DB.

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

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

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

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

Κάντε αυτήν τη ρύθμιση ίδια και στους δύο διακομιστές.

Εγκατάσταση του στούντιο διαχείρισης του SQL Server

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

Κάντε επανεκκίνηση των Windows, εάν σας ζητηθεί να κάνετε επανεκκίνηση μετά την εγκατάσταση. Επίσης, εγκαταστήστε τυχόν ενημερώσεις κώδικα στο Windows Update.

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

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

Η μέθοδος δημιουργίας είναι η ίδια με την κανονική διαδικασία, οπότε θα παραλείψω τις λεπτομέρειες.

Μπορείτε να δημιουργήσετε μια βάση δεδομένων με το όνομα Δημοσίευση DB στο SQL Server Management Studio.

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

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

Ρύθμιση παραμέτρων απομακρυσμένων συνδέσεων

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

Ορισμός δικαιωμάτων φακέλου

Στο διακομιστή από την πλευρά της δημοσίευσης, ανοίξτε τις ιδιότητες του ακόλουθου φακέλου: Η διαδρομή φακέλου εξαρτάται από την έκδοση του SQL Server και το όνομα της παρουσίας.

  • C:\Αρχεία προγράμματος\Microsoft SQL Server\MSSQL15. Η υπηρεσία δεν είναι σε θέση να το κάνει αυτό.

Από την καρτέλα Ασφάλεια, προσθέστε το λογαριασμό "ΥΠΗΡΕΣΙΑ" και ρυθμίστε τον σε πλήρη έλεγχο.

Ρύθμιση παραμέτρων της διανομής

Αυτή τη φορά, η διανομή δημιουργείται στον ίδιο διακομιστή με τη δημοσίευση.

Ξεκινήστε το SQL Server Management Studio, κάντε δεξί κλικ στην επιλογή Αναπαραγωγή και επιλέξτε Ρύθμιση παραμέτρων διανομής.

Κάντε κλικ στο κουμπί Επόμενο.

Ελέγξτε < "Κάντε το δικό σας διακομιστή > δικό σας διανομέα".

Μετά από αυτό, κάντε κλικ στο κουμπί "Επόμενο" όπως είναι για να το ολοκληρώσετε.

Δημιουργία δημοσίευσης

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

Επομένως, χρησιμοποιούμε το T-SQL για να δημιουργήσουμε τη δημοσίευση εδώ.

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

-- トランザクションパブリケーションを追加するための宣言
DECLARE @publicationDB AS sysname;
DECLARE @publication AS sysname;
DECLARE @login AS sysname;
DECLARE @password AS sysname;
SET @publicationDB = N'パブリケーションDB'; 
SET @publication = N'パブリケーション'; 
SET @login = 'sa'; 
SET @password = 'saパスワード'; 

USE [パブリケーションDB]

-- パブリケーションデータベースでトランザクションレプリケーションを有効にする。
EXEC sp_replicationdboption 
    @dbname=@publicationDB, 
    @optname=N'publish',
    @value = N'true';

-- sp_addlogreader_agent を実行して、エージェントジョブを作成します。
EXEC sp_addlogreader_agent 
    @publisher_login = @login, 
    @publisher_password = @password,
    @publisher_security_mode = 0;

-- 即時更新、キュー更新、およびプルサブスクリプションをサポートするトランザクションパブリケーションを作成します。
EXEC sp_addpublication 
    @publication = @publication, 
    @status = N'active',
    @allow_sync_tran = N'true', 
    @allow_queued_tran = N'true',
    @allow_pull = N'true',
    @independent_agent = N'true',
    -- 関連するデフォルトのプロパティを明示的に宣言する
    @conflict_policy = N'pub wins';

-- デフォルトのスケジュールを使用して、パブリケーションの新しいスナップショットジョブを作成します。
EXEC sp_addpublication_snapshot 
    @publication = @publication, 
    @publisher_login = @login, 
    @publisher_password = @password,
    @publisher_security_mode = 0;
GO

Όταν χρησιμοποιείτε τον έλεγχο ταυτότητας των Windows, αλλάξτε τα τμήματα "sp_addlogreader_agent" και "sp_addpublication_snapshot" ως εξής.

Έλεγχος ταυτότητας του SQL Server

    @publisher_login = @login, 
    @publisher_password = @password,
    @publisher_security_mode = 0;

Έλεγχος ταυτότητας των Windows

    @job_login = @login, 
    @job_password = @password,
    @publisher_security_mode = 1;

Εάν δημιουργηθεί με επιτυχία, θα δείτε τα εξής:

Επίσης, ανοίξτε τις ιδιότητες της έκδοσης που δημιουργήθηκε και βεβαιωθείτε ότι είναι ενεργοποιημένη η "Συνδρομή ανανεώσιμων πηγών ενέργειας".

Καθορισμός άρθρων

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

Επιλέξτε "Άρθρα" από το μενού στα αριστερά, ελέγξτε τον πίνακα που θέλετε να συγχρονίσετε και κάντε κλικ στο κουμπί OK.

Μια msrepl_tran_version προστίθεται στις στήλες του πίνακα που πρόκειται να συγχρονιστούν και ταυτόχρονα προστίθεται ένα εναύσμα πίνακα.

Δημιουργία συνδρομής

Κάντε δεξί κλικ στη δημοσίευση που μόλις δημιουργήσατε και επιλέξτε Νέα συνδρομή.

Κάντε κλικ στο κουμπί Επόμενο.

Επιλέξτε τη δημοσίευση που δημιουργήσατε.

Ελέγξτε Εκτελέστε όλους τους αντιπροσώπους στο όνομα του διανομέα <εξυπηρετητή>.

Κάντε κλικ στο κουμπί Προσθήκη συνδρομητή SQL Server.

Καθορίζει το διακομιστή (+ όνομα παρουσίας) για να εγγραφείτε ως συνδρομητής.

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

Αφού καθορίσετε τη βάση δεδομένων, κάντε κλικ στο κουμπί Επόμενο.

Εάν έχετε περισσότερους από έναν συνδρομητές, μπορείτε να εγγραφείτε όσους χρειάζεστε εδώ.

Κάντε κλικ στο κουμπί "..."

Εδώ, ο πράκτορας τρέχει κάτω από το λογαριασμό sa, αλλά παρακαλώ ρυθμίστε το ανάλογα με το περιβάλλον σας.

Επιλέξτε Συνεχής εκτέλεση.

Η ρύθμιση «Ανανεώσιμη συνδρομή» θα πρέπει να είναι λειτουργική.

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

Το "Queue changes and commit if" συσσωρεύει αλλαγές στην ουρά, επομένως δεσμεύονται όταν εκτελείται ο διακομιστής, ακόμα και αν ο διακομιστής δεν εκτελείται. Ωστόσο, ο χρονισμός συγχρονισμού είναι αργός.

Επιλέξτε Χρήση προκαθορισμένου συνδεδεμένου ή απομακρυσμένου διακομιστή.

Επιλέξτε Τώρα.

Κάντε κλικ στο κουμπί Επόμενο.

Κάντε κλικ στο κουμπί Τέλος.

Κλείστε αν δεν υπάρχουν σφάλματα.

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

Μπορείτε να επαληθεύσετε ότι οι εγγραφές είναι επίσης συγχρονισμένες.

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

Κάντε δεξί κλικ στη συνδρομή που δημιουργήθηκε και επιλέξτε Επανενιτοποίηση.

Επιλέξτε "Χρήση νέου στιγμιότυπου" και κάντε κλικ στο κουμπί "Ορισμός για επανενιτοποίηση".

Εάν παρουσιαστεί σφάλμα, προσπαθήστε ξανά.

Έλεγχος λειτουργίας

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

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

Τώρα ας τροποποιήσουμε την εγγραφή από την πλευρά του συνδρομητή.

Μπορείτε να επαληθεύσετε ότι είναι συγχρονισμένο με την πλευρά της δημοσίευσης.

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