שרתים מקושרים מאפשרים ל-SQL Server לקרוא נתונים ממקורות נתונים מרוחקים ולהריץ פקודות במסדי נתונים מרוחקים. בדף הזה מוסבר על ההרשאות במכונות של Cloud SQL, על דברים שצריך להביא בחשבון כשמטמיעים שרתים מקושרים ועל המגבלות של השימוש בשרתים מקושרים.
הרשאות של מכונה מקושרת של שרת
כדי להגדיר שרתים מקושרים, צריך את ההרשאות הבאות למכונה ולמשתמש:
-
ALTER ANY LINKED SERVER: ההרשאה הזו ניתנת על ידי Cloud SQL כשמוסיפים את הדגלcloudsql enable linked serversלמכונה. -
ALTER ANY LOGIN: ההרשאה הזו ניתנת באופן אוטומטי על ידי Cloud SQL למשתמש עם הרשאת אדמין במכונה של Cloud SQL. ההרשאה הזו מאפשרת ליצור מיפוי בין פרטי התחברות ב-Cloud SQL לבין חשבון אבטחה בשרת מקושר.
רשימה של הרשאות ברירת המחדל שזמינות למכונות של Cloud SQL
כדי לדעת איך נותנים את ההרשאה ALTER ANY LINKED SERVER או ALTER ANY
LOGIN לחשבונות נוספים, אפשר לעיין בדוגמה שבמאמר מתן הרשאות לשרת.
שיקולים לשימוש בשרתים מקושרים
בקטע הזה מפורטות המלצות לטיפול באבטחה, בביצועים ובאמינות בשרתים מקושרים.
אבטחה
כדי לצמצם את הסיכון לפרצות אבטחה, צריך לוודא שבשרתים המקושרים מוגדרים פרוטוקולי אבטחה חזקים, כמו:
- להטמיע מנגנוני אימות והרשאה מתאימים, כמו הצפנת SSL.
- להטמיע כללי מדיניות מחמירים בנושא סיסמאות.
- מוודאים שרק למשתמשים מורשים יש גישה לשרת המקושר.
- חשוב לוודא שמידע רגיש מוצפן ומאובטח כמו שצריך.
- חשוב לוודא שלפרטי הכניסה יש גישה רק למשאבים שבהם אתם משתמשים במהלך ההגדרה.
ביצועים
יש כמה גורמים שיכולים להשפיע על הביצועים בשרתים מקושרים:
- שרתים מקושרים יכולים לגרום לזמן אחזור ולהאט את הביצועים כשהשאילתות מורכבות, בהתאם לנפח הנתונים שכל שרת מעביר. זה יכול לגרום לבעיות באפליקציות שדורשות סנכרון נתונים בזמן אמת.
- כשמשתמשים בשרתים מקושרים כדי להריץ שאילתה, המנוע של מסד הנתונים יוצר חיבור חדש ומאחזר נתונים לכל שאילתה שמריצים. הנתונים לא נשמרים במטמון, ויכול להיות שהשרת יעתיק את כל הטבלה ברשת בכל פעם שתשתמשו בשרת מקושר.
- Cloud SQL לא יכול ליצור תוכנית ביצוע אופטימלית לשרת המרוחק כי הוא לא יודע איך השרת המרוחק מטפל באינדקסים ובנתונים סטטיסטיים.
כדי לשפר את הביצועים:
- תכננו את השאילתות בקפידה וודאו שרק הנתונים הנחוצים מועברים בין השרתים.
- משתמשים בתכונה "שאילתות מבוזרות" של SQL Server.
- להפיץ שאילתות בין כמה שרתים.
- כדי לוודא שהשרת המקושר פועל בצורה חלקה, חשוב לעקוב אחרי ההגדרות שלו ולשפר אותן באופן קבוע.
אמינות
כל הפרעה או כשל בקישור בין השרתים עלולים להוביל לזמן השבתה משמעותי, ואולי גם לאובדן נתונים.
כדי להבטיח פעולה אמינה, חשוב להטמיע מנגנוני יתירות כשל ויתירות מתאימים. למשל:
- הטמעת שרת מקושר לגיבוי למקרה של יתירות כשל.
- לעקוב אחרי הזמינות והביצועים של השרת.
- בודקים ומאמתים באופן קבוע את ההגדרות של השרתים המקושרים.
מגבלות
לשרתים מקושרים ל-Cloud SQL יש את המגבלות הבאות:
- שרתים מקושרים לא יכולים להשתמש במקורות נתונים שהם לא SQL Server.
- אימות Active Directory לא זמין לשרתים מקושרים.
- אם אתם משתמשים ב-Private Service Connect כדי להתחבר למכונה של Cloud SQL, אתם צריכים להפעיל את הקישוריות היוצאת של Private Service Connect כדי להשתמש בשרתים מקושרים.
- שרתים מקושרים לא פועלים בין מכונות Cloud SQL בכתובות IP ציבוריות, אם מכונת המקור מוגדרת לזמינות גבוהה (HA) או אם היא מוגדרת גם עם כתובת IP פרטית (גישה לשירותים פרטיים) וגם עם כתובת IP ציבורית. הקישוריות של כתובת ה-IP הציבורית במכונות האלה היא רק לתעבורת נתונים נכנסת. למכונות הווירטואליות הבסיסיות של Compute Engine אין כתובות IP חיצוניות, והן לא יכולות ליזום חיבורים יוצאים ליעדים חיצוניים או לכתובות ה-IP הציבוריות של מכונות Cloud SQL אחרות. כדי לקשר בין שרתים מקושרים במכונות Cloud SQL, צריך להגדיר את המכונות עם גישה לשירותים פרטיים באותה רשת של ענן וירטואלי פרטי (VPC) או ברשת VPC משותפת, או להגדיר קישוריות יוצאת של Private Service Connect.
- אי אפשר להשתמש ב-SQL Server Management Studio (SSMS) כדי להגדיר שרת מקושר. במקום זאת, משתמשים בפרוצדורה המאוחסנת שמוזכרת בקטע הוספת שרת מקושר.
- אי אפשר להשתמש בשרתים מקושרים במכונות שכבר מופעלות בהן גם גישה לשירותים פרטיים וגם Private Service Connect.
- אי אפשר להפעיל את Private Service Connect במכונה שכבר יש לה גישה לשירותים פרטיים ושרת מקושר מופעל.
לרשימה המלאה של המגבלות על שרתים מקושרים, ראו תכונות ושירותים שלא נתמכים.