AlwaysOn Readable Secondary و Read-Only Routing
یادداشت حقوقی: کاربر حق ترجمه و بازنشر این اثر را برای پروژه تأیید کرده است.PAGE-617Add Publication Access Login کاربر/Service Account مورد نیاز Subscriber را به PAL اضافه میکند. Principle of Least Privilege باید حفظ شود.
Figure 16-27 — شکل/تصویر منبع، صفحه PDF 617PAGE-618Readable Secondary Replicas
Availability Group میتواند Secondary را برای Read-only Query باز کند تا Reporting/Read workload از Primary دور شود. این قابلیت با Scale-out کامل Write متفاوت است؛ Write همچنان روی Primary انجام میشود.
PAGE-619Database نمونه ReadScale
کتاب Chapter16ReadScale را ایجاد میکند تا AG با Readable Secondary ساخته و Routing آزمایش شود.
PAGE-620داده نمونه ایجاد میشود. Database در FULL Recovery Model و Backup مناسب برای افزودن به AG آماده میشود.
PAGE-621Specify Availability Group Options در Wizard نام AG و Cluster Type را تعیین میکند. زیرساخت WSFC از قبل آماده است.
Figure 16-28 — شکل/تصویر منبع، صفحه PDF 621PAGE-622Select Databases Eligibility را بررسی میکند و Database ReadScale انتخاب میشود.
Figure 16-30 — شکل/تصویر منبع، صفحه PDF 622PAGE-623Replicas Tab Availability Mode، Failover Mode و Readable Secondary را تنظیم میکند. گزینه Read-intent only میتواند فقط Connectionهای دارای ApplicationIntent=ReadOnly را بپذیرد.
Figure 16-31 — شکل/تصویر منبع، صفحه PDF 623PAGE-624Endpoints Tab Port و Endpoint URL Replicaها را مشخص میکند. Connectivity و Firewall باید دوطرفه آزموده شوند.
Figure 16-32 — شکل/تصویر منبع، صفحه PDF 624PAGE-625Backup Preferences مشخص میکند Backup Jobها کدام Replica را ترجیح دهند؛ Readable بودن Replica الزاماً به معنی Preferred Backup بودن آن نیست.
Figure 16-33 — شکل/تصویر منبع، صفحه PDF 625PAGE-626Listener Tab نام/IP/Port Client Endpoint را تعیین میکند. Read-only Routing نیز از Listener و Connection String مناسب استفاده میکند.
Figure 16-33 — شکل/تصویر منبع، صفحه PDF 626PAGE-627Read-Only Routing
ALTER AVAILABILITY GROUP [ReadScaleAG]
MODIFY REPLICA ON N'SQL1'
WITH (PRIMARY_ROLE (READ_ONLY_ROUTING_LIST = (N'SQL2', N'SQL3')));
Routing List میتواند Nested/Ordered باشد تا Load Distribution/Failover Preference تعریف شود. Client باید ApplicationIntent=ReadOnly و معمولاً Database Initial Catalog مناسب داشته باشد.
Figure 16-34 — شکل/تصویر منبع، صفحه PDF 627PAGE-628Initial Synchronization و جمعبندی
Database با Backup/Restore یا Automatic Seeding Sync میشود. Readable Secondary میتواند Reporting و Backup را Offload کند، اما Redo Lag، Long-running Read Transaction، TempDB و Resource Usage Secondary باید پایش شوند.
Figure 16-35 — شکل/تصویر منبع، صفحه PDF 628PAGE-629Replication و Readable Secondary دو روش متفاوت Scale-out هستند: Replication میتواند Subset/Data Transformation و Subscriber مستقل ارائه دهد؛ AG Secondary کپی فیزیکی Database را برای HA و Read Scale نگه میدارد. انتخاب به Consistency، Latency و Operational Requirement بستگی دارد.