לאחר שהעברת את הנתונים שלך מ- Access ל- SQL Server, עכשיו יש לך מסד נתונים של לקוח/שרת, שעשוי לכלול פתרון מקומי או פתרון ענן היברידי של Azure. בכל מקרה, Access הוא עכשיו שכבת המצגת ו- SQL Server הוא שכבת הנתונים. זה זמן טוב לשקול מחדש היבטים שונים של הפתרון שלך, בעיקר ביצועי שאילתה, אבטחה והמשכיות עסקית, כדי שתוכל לשפר את הפתרון של מסד הנתונים ולהרחיב אותו.
המפגש הראשון של משתמש Access עם התיעוד של SQL Server ושל Azure עשוי להיות מרתיע. מפגש זה מחייב סיור מודרך להעברת הנקודות העיקריות שחשובות לך. לאחר שתסיים את הסיור, תהיה מוכן לגלות את ההתפתחויות בטכנולוגיית מסד הנתונים ולצאת למסע ארוך יותר.
במאמר זה
ניהול מסדי נתונים |
שאילתות ונושאים קשורים |
סוגי נתונים |
שונות |
השגת המשכיות עסקית
אתה רוצה שהפתרון שלך ב- Access ימשיך לפעול עם מינימום הפרעות, אבל האפשרויות שלך עם מסד נתונים עורפי של Access מוגבלות. חשוב מאוד שתגבה את מסד הנתונים של Access כדי להגן על הנתונים שלך, אבל הגיבוי מחייב העברה של המשתמשים שלך למצב לא מקוון. כדאי גם לקחת בחשבון זמן השבתה לא מתוכנן שנגרם עקב שדרוגי תחזוקה של חומרה/תוכנה, תקלות ברשת או הפסקות חשמל, כשלים בחומרה, הפרות אבטחה ואפילו מתקפות סייבר. כדי למזער את זמן ההשבתה ואת ההשפעה של העסק שלך, ניתן לגבות מסד נתונים של SQL Server במהלך השימוש בו. כמו כן, SQL Server מציע גם אסטרטגיות מסוג זמינות גבוהה (HA) ושחזור מאסונות (DR). שילוב של שתי הטכנולוגיות הללו מכונה HADR. לקבלת מידע נוסף, ראה המשכיות עסקית ושחזור מסדי נתונים והשגת המשכיות עסקית באמצעות SQL Server (ספר אלקטרוני).
גיבוי במהלך השימוש
SQL Server משתמש בתהליך גיבוי מקוון שיכול להתרחש בזמן שמסד הנתונים מופעל. ניתן לבצע גיבוי מלא, גיבוי חלקי או גיבוי קבצים. גיבוי מעתיק נתונים ויומני טרנזקציות כדי להבטיח פעולת שחזור מלאה. בעיקר כאשר מדובר בפתרון מקומי, שים לב להבדלים בין אפשרויות שחזור פשוטות ומלאות וברר כיצד הן משפיעות על הגידול ביומני הטרנזקציות. לקבלת מידע נוסף, ראה מודלים של שחזור.
רוב פעולות הגיבוי מתרחשות מיד, למעט פעולות של ניהול קבצים וכיווץ מסדי נתונים. לעומת זאת, אם תנסה ליצור או למחוק קובץ מסד נתונים במהלך ביצוע פעולת גיבוי, הפעולה תיכשל. לקבלת מידע נוסף, ראה מבט כולל על גיבוי.
HADR
שתי הטכניקות הנפוצות ביותר להשגת זמינות גבוהה והמשכיות עסקית הן 'שיקוף' ו'קיבוץ באשכולות'. SQL Server משלב טכנולוגיית שיקוף וקיבוץ באשכולות עם "מופעים של אשכול מעבר לגיבוי בעת כשל פועלים תמיד" ו"קבוצות זמינות פועלות תמיד".
שיקוף הוא פתרון המשכיות ברמת מסד הנתונים שתומך במעבר לגיבוי בעת כשל כמעט מיידי על-ידי שמירה של מסד נתונים בהמתנה, עותק או שיקוף מלא של מסד הנתונים הפעיל בחומרה נפרדת. הוא יכול לפעול במצב סינכרוני (בטיחות גבוהה), שבו טרנזקציה נכנסת מחויבת לכל השרתים בו-זמנית, או במצב אסינכרוני (ביצועים גבוהים), שבו טרנזקציה נכנסת מחויבת למסד הנתונים הפעיל ולאחר מכן, בנקודת זמן שנקבעה מראש, מועתקת לשיקוף. שיקוף הוא פתרון ברמת מסד הנתונים והוא פועל רק עם מסדי נתונים שמשתמשים במודל השחזור המלא.
קיבוץ באשכולות הוא פתרון ברמת השרת שמשלב שרתים לאחסון נתונים יחיד שנראה למשתמש כמו מופע יחיד. המשתמשים מתחברים למופע ואינם צריכים לדעת איזה שרת במופע פעיל כעת. אם אירע כשל בשרת אחד או אם צריך להעביר אותו למצב לא מקוון לצורך תחזוקה, חוויית המשתמש לא משתנה. כל שרת באשכול מנוטר על-ידי מנהל האשכולות באמצעות פעימה, כך שהוא מזהה מתי השרת הפעיל באשכול עובר למצב לא מקוון ומנסה לעבור בצורה חלקה לשרת הבא באשכול, על אף שקיימת השהיית זמן משתנה במהלך המעבר.
לקבלת מידע נוסף, ראה מופעים של אשכול מעבר לגיבוי בעת כשל פועלים תמיד וקבוצות זמינות פועלות תמיד: פתרון המציע זמינות גבוהה ושחזור מאסונות.
אבטחת SQL Server
על אף שניתן להגן על מסד הנתונים של Access באמצעות מרכז יחסי האמון ועל-ידי הצפנה של מסד הנתונים, SQL Server מציע תכונות אבטחה מתקדמות יותר. הבה נבחן שלוש יכולות בולטות המוצעות למשתמש של Access. לקבלת מידע נוסף, ראה אבטחת SQL Server.
אימות מסד הנתונים
SQL Server מציע ארבע שיטות לאימות מסד נתונים, שניתן לציין כל אחת מהן במחרוזת חיבור ODBC. לקבלת מידע נוסף, ראה קישור נתונים או ייבוא נתונים ממסד נתונים של Azure SQL Server. לכל שיטה יש יתרונות משלה.
אימות Windows משולב השתמש באישורים של Windows לצורך אימות משתמשים, תפקידי אבטחה והגבלת משתמשים לתכונות ולנתונים. אתה יכול למנף אישורי תחום ולנהל בקלות זכויות של משתמשים ביישום שלך. אם תרצה, הזן שמות ראשיים של שירות (SPN). לקבלת מידע נוסף, ראה בחירה של מצב אימות.
אימות של SQL Server משתמשים צריכים להתחבר עם אישורים שהוגדרו במסד הנתונים על-ידי הזנת מזהה כניסה וסיסמה בפעם הראשונה שהם ניגשים למסד הנתונים בהפעלה. לקבלת מידע נוסף, ראה בחירה של מצב אימות.
אימות משולב של Azure Active Directory התחבר אל מסד הנתונים של Azure SQL Server באמצעות Azure Active Directory. לאחר הגדרת האימות של Azure Active Directory, אין צורך בכניסה נוספת ובסיסמה. לקבלת מידע נוסף, ראה התחברות למסד נתוני SQL באמצעות אימות של Azure Active Directory.
אימות סיסמה של Active Directory התחבר עם אישורים שהוגדרו ב- Azure Active Directory על-ידי הזנת שם המשתמש והסיסמה. לקבלת מידע נוסף, ראה התחברות למסד נתוני SQL באמצעות אימות של Azure Active Directory.
עצה השתמש בזיהוי איומים כדי לקבל התראות על פעילות חריגה במסד הנתונים המציינת איומי אבטחה פוטנציאליים למסד נתונים של Azure SQL Server. לקבלת מידע נוסף, ראה זיהוי איומים של מסד נתוני SQL.
אבטחת יישומים
SQL Server כולל שתי תכונות אבטחה ברמת היישום שאפשר ליהנות מהן באמצעות Access.
מיסוך נתונים דינאמי הסתר נתונים רגישים על-ידי מיסוך שלהם מפני משתמשים בלתי מורשים. לדוגמה, ניתן למסך מספרי ביטוח לאומי, באופן חלקי או מלא.
מסיכת נתונים חלקית |
מסיכת נתונים מלאה |
ניתן להגדיר מסיכת נתונים בכמה דרכים, וניתן להחיל אותן על סוגים שונים של נתונים. מיסוך נתונים הוא מבוסס מדיניות ברמת הטבלה והעמודה עבור קבוצה מוגדרת של משתמשים והוא מוחל על שאילתה בזמן אמת. לקבלת מידע נוסף, ראה מיסוך נתונים דינאמי.
אבטחה ברמת השורה ניתן לשלוט בגישה לשורות ספציפיות של מסדי נתונים עם מידע רגיש המבוסס על מאפייני המשתמש באמצעות 'אבטחה ברמת השורה'. מערכת מסד הנתונים מחילה את מגבלות הגישה הללו, עובדה שהופכת את מערכת האבטחה למהימנה ועמידה יותר.
ישנם שני סוגי פרדיקאטים של אבטחה:
-
פרדיקאט של סינון שמסנן שורות משאילתה. המסנן שקוף ומשתמש הקצה אינו מודע לסינון.
-
פרדיקאט של חסימה שמונע פעולה לא מורשית ומחזיר חריגה אם לא ניתן לבצע את הפעולה.
לקבלת מידע נוסף, ראה אבטחה ברמת השורה.
הגנה על נתונים באמצעות הצפנה
הגן על נתונים במנוחה, במעבר ובזמן שהם נמצאים בשימוש מבלי להשפיע על הביצועים של מסד הנתונים. לקבלת מידע נוסף, ראה הצפנה של SQL Server.
הצפנה במנוחה כדי לאבטח נתונים אישיים מפני תקיפות מדיה במצב לא מקוון בשכבת האחסון הפיזי, השתמש בהצפנה במנוחה, המכונה גם 'הצפנת נתונים שקופה' (TDE). פירוש הדבר שהנתונים שלך מוגנים גם אם המדיה הפיזית נגנבה או הושלכה בצורה לא נכונה. הצפנה מסוג TDE מבצעת הצפנה ופענוח בזמן אמת של מסדי נתונים, גיבויים ויומני טרנזקציות מבלי לבצע שינוי כלשהו ביישומים.
הצפנה בתנועה כדי לספק הגנה מפני פעולות Snoop ומתקפות מסוג "אדם באמצע", תוכל להצפין נתונים ששודרו ברשת. SQL Server תומך בהצפנת Transport Layer Security (TLS) 1.2 להשגת תקשורת מאובטחת במיוחד. פרוטוקול זרם נתונים טבלאי (TDS) משמש גם להגנה על תקשורת ברשתות לא מהימנות.
הצפנה במהלך שימוש על-ידי הלקוח כדי להגן על נתונים אישיים במהלך השימוש בהם, התכונה Always Encrypted היא התכונה הרצויה לך. נתונים אישיים מוצפנים ומפוענחים על-ידי מנהל התקן במחשב הלקוח מבלי לחשוף את מפתחות ההצפנה בפני מנגנון מסד הנתונים. כתוצאה מכך, נתונים מוצפנים גלויים רק לאנשים שאחראים לניהול של אותם נתונים ולא למשתמשים בעלי הרשאות גבוהות במיוחד, שאינם אמורים לקבל גישה. בהתאם לסוג ההצפנה שנבחרה, התכונה Always Encrypted עשויה להגביל פונקציונליות מסוימת של מסד הנתונים, כגון חיפוש, קיבוץ ויצירת אינדקס של עמודות מוצפנות.
טיפול בנושאי פרטיות
נושאי פרטיות הם כה נפוצים עד כי האיחוד האירופי הגדיר דרישות משפטיות באמצעות התקנה הכללית להגנה על נתונים (GDPR). למרבה המזל, קצה עורפי של SQL Server מספק מענה טוב לדרישות אלה. חשוב על יישום של תקנה GDPR במסגרת הכוללת שלושה שלבים.
שלב 1: הערכה וניהול של סיכוני תאימות
תקנה GDPR דורשת ממך לזהות את המידע האישי שיש לך בטבלאות ובקבצים ולבצע רשימת מלאי שלו. מידע זה יכול לכלול כל דבר, החל משם, תמונה, כתובת דואר אלקטרוני, פרטי בנק, פרסומים באתרי אינטרנט של רשתות חברתיות, מידע רפואי ואפילו כתובת IP.
כלי חדש, SQL Data Discovery and Classification, המוכלל ב- SQL Server Management Studio עוזר לך לגלות נתונים רגישים, לסווג אותם לקטגוריות, לסמן אותם בתוויות ולדווח עליהם על-ידי החלה של שתי תכונות מטה-נתונים על עמודות:
-
תוויות כדי להגדיר את רגישות הנתונים.
-
סוגי מידע כדי לספק פירוט נוסף בנוגע לסוגי הנתונים המאוחסנים בעמודה.
מנגנון גילוי נוסף שניתן להשתמש בו הוא חיפוש טקסט מלא, הכולל את השימוש בפרדיקאטים CONTAINS ו- FREETEXT ובפונקציות בערך של ערכת שורות, כגון CONTAINSTABLE ו- FREETEXTTABLE לשימוש עם המשפט SELECT. באמצעות חיפוש טקסט מלא, תוכל לחפש טבלאות כדי לגלות מילים, שילובי מילים או וריאציות של מילה, כגון מילים נרדפות או הטיות שונות. לקבלת מידע נוסף, ראה חיפוש טקסט מלא.
שלב 2: הגנה על מידע אישי
תקנה GDPR דורשת ממך לאבטח מידע אישי ולהגביל את הגישה אליו. בנוסף לשלבים הסטנדרטיים שאתה מבצע כדי לנהל את הגישה לרשת ולמשאבים שלך, כגון הגדרות של חומת אש, תוכל להשתמש בתכונות האבטחה של SQL Server אשר יעזרו לך לשלוט בגישה לנתונים:
-
אימות של SQL Server כדי לנהל זהויות של משתמשים ולמנוע גישה בלתי מורשית.
-
אבטחה ברמת השורה כדי להגביל את הגישה לשורות בטבלה על בסיס יחסי הגומלין בין המשתמש לנתונים אלה.
-
מיסוך נתונים דינאמי כדי להגביל את החשיפה לנתונים אישיים על-ידי הסתרתם ממשתמשים בלתי מורשים.
-
הצפנה כדי לוודא שהנתונים האישיים מוגנים בשלבי השידור והאחסון ושהם מוגנים מפני חשיפה לסכנה, כולל בצד השרת.
לקבלת מידע נוסף, ראה אבטחה של SQL Server.
שלב 3: תגובה יעילה לבקשות
תקנה GDPR דורשת ממך לשמור רשומות של עיבוד נתונים אישיים ולהפוך אותן לזמינות לרשויות הפיקוח לפי דרישה. אם מתרחשות בעיות כמו הפצה לא מכוונת של נתונים, בקרות הגנה מאפשרות לך להגיב במהירות. על הנתונים להיות זמינים במהירות כאשר יש צורך בדיווח. לדוגמה, תקנה GDPR דורשת לדווח על הפרה של נתונים אישיים לרשות הפיקוח "לא יאוחר מ- 72 שעות מהרגע שנודע לך על ההפרה".
SQL Server 2017 מסייע לך במשימות הדיווח במספר דרכים:
-
SQL Server Audit עוזר לך להחזיק ברשומות מתמשכות של פעילויות גישה ועיבוד של מסדי נתונים. הוא מבצע ביקורת פרטנית שעוקבת אחר פעילויות מסד נתונים כדי לעזור לך להבין ולזהות איומים פוטנציאליים, חשד לשימוש לרעה, או הפרות אבטחה. ניתן לבצע בקלות ניתוח אירועי אבטחה של נתונים.
-
הטבלאות הזמניות של SQL Server הן טבלאות משתמש בגירסת מערכת שנועדו לתעד היסטוריה מלאה של שינויים בנתונים. ניתן להשתמש בהן לדיווח קל ולניתוח קל של נקודות זמן.
-
SQL Vulnerability Assessment עוזר לך לזהות בעיות בנושא אבטחה והרשאות. לאחר שזוהתה בעיה, תוכל גם לבצע הסתעפות לדוחות סריקה של מסד הנתונים כדי למצוא פעולות לפתרון.
לקבלת מידע נוסף, ראה יצירת פלטפורמה של אמון (ספר אלקטרוני) ומסע להשגת תאימות לתקנה GDPR.
יצירה של תמונות מסד נתונים
תמונת מסד נתונים היא תצוגה סטטית לקריאה בלבד של מסד נתונים של SQL Server בנקודת זמן. על אף שניתן להעתיק קובץ מסד נתונים של Access כדי ליצור באופן יעיל תמונת מסד נתונים, Access אינו מציע מתודולוגיה מוכללת כמו זו של SQL Server. ניתן להשתמש בתמונת מסד נתונים כדי לכתוב דוחות על סמך הנתונים בתאריך שבו נוצרה תמונת מסד הנתונים. ניתן גם להשתמש בתמונת מסד נתונים כדי לשמור נתונים היסטוריים, למשל תמונה אחת עבור כל רבעון פיננסי המשמשת לסיכום דוחות של סוף תקופה. אנו ממליצים על שיטות העבודה המומלצות הבאות:
-
מתן שם לתמונה כל תמונת מסד נתונים דורשת שם ייחודי של מסד נתונים. הוסף את המטרה ואת מסגרת הזמן לשם לצורך זיהוי קל יותר. לדוגמה, כדי לצלם את מסד הנתונים של AdventureWorks שלוש פעמים ביום במרווחי זמן של כל 6 שעות בין השעות 06:00 ל- 18:00 בשעון של 24 שעות, תן את השמות הבאים: AdventureWorks_snapshot_0600, AdventureWorks_snapshot_1200 ו- AdventureWorks_snapshot_1800.
-
הגבלה של מספר התמונות כל תמונת מסד נתונים ממשיכה להתקיים עד שמבטלים אותה בצורה מפורשת. מכיוון שכל תמונה תמשיך לגדול, מומלץ לשמור על שטח הדיסק על-ידי מחיקה של התמונה הקודמת לאחר יצירת התמונה החדשה. לדוגמה, אם אתה יוצר דוחות יומיים, שמור את תמונת מסד הנתונים למשך 24 שעות ולאחר מכן בטל אותה והחלף אותה בתמונה חדשה.
-
התחברות לתמונה הנכונה כדי להשתמש בתמונת מסד נתונים, החזית של Access צריכה לדעת את המיקום הנכון. כאשר אתה מחליף תמונה קיימת בתמונה חדשה, עליך לנתב מחדש את Access לתמונה החדשה. הוסף לוגיקה לחזית של Access כדי לוודא שאתה מתחבר לתמונה הנכונה של מסד הנתונים.
כך יוצרים תמונת מסד נתונים:
CREATE DATABASE AdventureWorks_dbss1800 ON
( NAME = AdventureWorks_Data, FILENAME =
'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data\AdventureWorks_snapshot_0600' )
AS SNAPSHOT OF AdventureWorks;
לקבלת מידע נוסף, ראה תמונות של מסד נתונים (SQL Server).
בקרה של התרחשויות בו-זמניות
כאשר אנשים רבים מנסים לשנות נתונים במסד נתונים בו-זמנית, יש צורך במערכת פקדים כדי שהשינויים שביצע אדם אחד לא ישפיעו לרעה על השינויים שביצע אדם אחר. יכולת זו נקראת 'בקרה של התרחשויות בו-זמניות' ויש שתי אסטרטגיות נעילה בסיסיות, אחת פסימית ואחת אופטימית. נעילה יכולה למנוע ממשתמשים לשנות נתונים באופן שמשפיע על משתמשים אחרים. נעילה גם עוזרת להבטיח תקינות של מסדי נתונים, בעיקר כאשר מדובר בשאילתות שעשויות להפיק תוצאות בלתי צפויות. קיימים הבדלים חשובים באופן שבו Access ו- SQL Server מיישמים אסטרטגיות בקרה אלה של התרחשויות בו-זמניות.
ב- Access, אסטרטגיית הנעילה המוגדרת כברירת מחדל היא אופטימית ומעניקה בעלות על הנעילה לאדם הראשון שמנסה לכתוב ברשומה. Access מציג את תיבת הדו-שיח התנגשות כתיבה לאדם השני שמנסה לכתוב באותה רשומה באותו זמן. כדי לפתור את ההתנגשות, האדם השני יכול לשמור את הרשומה, להעתיק אותה ללוח או לבטל את השינויים.
ניתן גם להשתמש במאפיין RecordLocks כדי לשנות את אסטרטגיית הבקרה של ההתרחשויות הבו-זמניות. מאפיין זה משפיע על טפסים, דוחות ושאילתות והוא כולל שלוש הגדרות:
-
ללא נעילה בטופס, משתמשים יכולים לנסות לערוך את אותה רשומה בו-זמנית אבל תיבת הדו-שיח התנגשות כתיבה עשויה להופיע. בדוח, הרשומות לא נעולות בזמן שהדוח מוצג בתצוגה מקדימה או מודפס. בשאילתה, הרשומות לא נעולות בזמן שהשאילתה מופעלת. זו דרכו של Access ליישם נעילה אופטימית.
-
כל הרשומות כל הרשומות בטבלה או בשאילתה המשמשות כבסיס נעולות בזמן שהטופס פתוח בתצוגת טופס או בתצוגת גליון נתונים, בזמן שהדוח מוצג בתצוגה מקדימה או מודפס או בזמן שהשאילתה מופעלת. המשתמשים יכולים לקרוא את הרשומות במהלך הנעילה.
-
רשומה בעריכה בטפסים ובשאילתות, עמוד רשומות ננעל ברגע שמשתמש כלשהו מתחיל לערוך שדה כלשהו ברשומה ונשאר נעול עד שהמשתמש עובר לרשומה אחרת. כתוצאה מכך, רק משתמש אחד יכול לערוך רשומה אחת בכל פעם. זו דרכו של Access ליישם נעילה פסימית.
לקבלת מידע נוסף, ראה תיבת הדו-שיח 'התנגשות כתיבה' והמאפיין RecordLocks.
ב- SQL Server, בקרה של התרחשויות בו-זמניות פועלת באופן הבא:
-
פסימי לאחר שהמשתמש מבצע פעולה שגורמת להחלה של הנעילה, המשתמשים האחרים לא יכולים לבצע פעולות אשר יתנגשו עם הנעילה עד לשחרור הנעילה על-ידי הבעלים. משתמשים בבקרה של התרחשויות בו-זמניות בעיקר בסביבות שבהן קיימת התמודדות מרובה עם נתונים.
-
אופטימי בבקרה אופטימית של התרחשויות בו-זמניות, המשתמשים לא נועלים נתונים בזמן שהם קוראים אותם. כאשר משתמש מעדכן נתונים, המערכת בודקת אם משתמש אחר שינה את הנתונים לאחר קריאתם. אם משתמש אחר עדכן את הנתונים, מופיעה שגיאה. בדרך כלל, המשתמש שמקבל את השגיאה מחזיר את הטרנזקציה למצב קודם ומתחיל מחדש. משתמשים בבקרה של התרחשויות בו-זמניות בעיקר בסביבות שבהן קיימת התמודדות מועטה עם נתונים.
ניתן לציין את סוג הבקרה של ההתרחשויות הבו-זמניות על-ידי בחירה של כמה רמות בידוד טרנזקציות, אשר מגדירות את רמת ההגנה עבור הטרנזקציה מפני שינויים שבוצעו על-ידי טרנזקציות אחרות באמצעות המשפט SET TRANSACTION:
SET TRANSACTION ISOLATION LEVEL
{ READ UNCOMMITTED
| READ COMMITTED
| REPEATABLE READ
| SNAPSHOT
| SERIALIZABLE
}
רמת בידוד |
תיאור |
קריאה לא בוצעה |
הטרנזקציות מבודדות בדיוק מספיק כדי להבטיח שנתונים פגומים פיזית לא ייקראו. |
קריאה בוצעה |
הטרנזקציות יכולות לקרוא נתונים שנקראו קודם לכן על-ידי טרנזקציה אחרת מבלי להמתין לסיום הפעולה של הטרנזקציה הראשונה. |
קריאה שניתן לחזור עליה |
נעילות של קריאה וכתיבה מתרחשות בנתונים שנבחרו עד לסוף הטרנזקציה, אך ייתכנו קריאות דמי. |
תמונה |
שימוש בגירסת שורה כדי לספק עקביות קריאה ברמת הטרנזקציה. |
ניתן לעריכה בסדרה |
הטרנזקציות מבודדות לגמרי זו מזו. |
לקבלת מידע נוסף, ראה מדריך לנעילת טרנזקציות ולניהול גירסאות שורה.
שיפור ביצועי השאילתות
לאחר שהפעלת שאילתת מעבר ב- Access, נצל את הדרכים המתוחכמות שבהן SQL Server יכול להפעיל אותה בצורה יעילה יותר.
להבדיל ממסד נתונים של Access, SQL Server מספק שאילתות מקבילות כדי למטב פעולות של ביצוע שאילתות ויצירת אינדקס במחשבים הכוללים יותר מיחידת עיבוד מרכזית (CPU) אחת. מכיוון ש- SQL Server יכול לבצע פעולת שאילתה או יצירת אינדקס במקביל באמצעות כמה רכיבים עובדים של המערכת, ניתן להשלים את הפעולה במהירות וביעילות.
שאילתות הן רכיב קריטי לשיפור הביצועים הכוללים של פתרון מסד הנתונים שלך. שאילתות פגומות פועלות לזמן בלתי מוגבל, כוללות זמן השבתה וצורכות היקף גדול של משאבים כמו יחידות CPU, זיכרון ורשת. עובדה זו מעכבת את הזמינות של מידע עסקי קריטי. אפילו שאילתה פגומה אחת עלולה לגרום לבעיות חמורות בביצועים מבחינת מסד הנתונים שלך.
לקבלת מידע נוסף, ראה ביצוע שאילתה מהיר יותר עם SQL Server (ספר אלקטרוני).
מיטוב שאילתות
הכלים הבאים פועלים יחד כדי לעזור לך לנתח את ביצועי השאילתה ולשפר אותם: 'ממטב שאילתות', תוכניות ביצוע ו'מאגר שאילתות'.
ממטב שאילתות
ממטב השאילתות הוא אחד מהרכיבים החשובים ביותר של SQL Server. השתמש בממטב השאילתות כדי לנתח שאילתה ולקבוע מה הדרך היעילה ביותר לגשת אל הנתונים הדרושים. הקלט בממטב השאילתות מורכב מן השאילתה, מסכימת מסד הנתונים (הגדרות טבלה ואינדקס) ומסטטיסטיקות של מסד הנתונים. הפלט של ממטב השאילתות הוא תוכנית ביצוע.
לקבלת מידע נוסף, ראה ממטב השאילתות של SQL Server.
תוכנית ביצוע
תוכנית ביצוע היא הגדרה שמופיעה ברצף לאחר טבלאות המקור שיש לגשת אליהן ושיטות הפעולה המשמשות לחילוץ נתונים מכל טבלה. מיטוב הוא התהליך שבו בוחרים תוכנית ביצוע אחת מתוך כמה תוכניות אפשריות. לכל תוכנית ביצוע אפשרית משויכת עלות בכמות של משאבי מיחשוב שנעשה בהם שימוש וממטב השאילתות בוחר את התוכנית שהעלות המשוערת שלה היא הנמוכה ביותר.
SQL Server חייב גם להתאים עצמו באופן דינאמי לתנאים משתנים במסד הנתונים. רגרסיות בתוכניות ביצוע של שאילתות יכולות להשפיע באופן משמעותי על הביצועים. שינויים מסוימים במסד הנתונים עלולים לגרום לתוכנית ביצוע להיות לא יעילה או לא חוקית, על בסיס המצב החדש של מסד הנתונים. SQL Server מזהה את השינויים שמבטלים תוקף של תוכנית ביצוע ומסמן את התוכנית כלא חוקית.
כעת יש לבצע הידור מחדש של תוכנית חדשה עבור החיבור הבא שמבצע את השאילתה. להלן התנאים שמבטלים תוקף של תוכנית:
-
שינויים שבוצעו בטבלה או בתצוגה שהשאילתה ביצעה אליה הפניה (ALTER TABLE ו- ALTER VIEW).
-
שינויים באינדקסים שתוכנית הביצוע השתמשה בהם.
-
עדכוני סטטיסטיקות שתוכנית הביצוע השתמשה בהן, אשר נוצרו באופן מפורש ממשפט, כגון UPDATE STATISTICS, או באופן אוטומטי.
לקבלת מידע נוסף, ראה תוכניות ביצוע.
מאגר שאילתות
מאגר השאילתות מספק תובנות לגבי האפשרויות והביצועים של תוכנית הביצוע. הוא עוזר לך למצוא במהירות הבדלים בביצועים שנגרמים בעקבות שינויים בתוכנית הביצוע ומפשט את תהליך פתרון הבעיות בנושא ביצועים. מאגר השאילתות אוסף נתוני מדידת שימוש, כגון היסטוריה של שאילתות, תוכניות, נתונים סטטיסטיים בזמן ריצה וסטטיסטיקות של המתנה. השתמש במשפט ALTER DATABASE כדי ליישם את מאגר השאילתות:
ALTER DATABASE AdventureWorks2012 SET QUERY_STORE = ON;
לקבלת מידע נוסף, ראה ניטור ביצועים באמצעות מאגר השאילתות.
תיקון אוטומטי של תוכנית
ייתכן שהדרך הקלה ביותר לשיפור ביצועי השאילתה היא התכונה 'תיקון אוטומטי של תוכנית', הזמינה באמצעות מסד נתוני SQL של Azure. פשוט הפעל אותה והנח לה לעבוד. היא מבצעת ניטור וניתוח רציפים של תוכנית הביצוע, מזהה תוכניות ביצוע בעייתיות ומתקנת באופן אוטומטי בעיות ביצועים. מאחורי הקלעים, התכונה 'תיקון אוטומטי של תוכנית' משתמשת באסטרטגיה בת ארבעה שלבים של למידה, הסתגלות, אימות וחזרה.
לקבלת מידע נוסף, ראה כוונון אוטומטי.
עיבוד שאילתות מסתגל
ניתן גם לקבל שאילתות מהירות יותר פשוט על-ידי שדרוג ל- SQL Server 2017, שכולל תכונה חדשה המכונה 'עיבוד שאילתות מסתגל'. SQL Server מתאים את האפשרויות של תוכנית השאילתה על בסיס מאפייני זמן הריצה.
הערכה של גודל הטבלה אומדת את מספר השורות המעובדות בכל שלב בתוכנית ביצוע. הערכות לא מדויקות עלולות לגרום להאטה בזמן התגובה של שאילתה, לניצול לא נחוץ של משאבים (זיכרון, CPU ו- IO) ולהפחתה של התפוקות וההתרחשויות הבו-זמניות. כדי להסתגל למאפייני עומס עבודה של יישומים נעשה שימוש בשלוש הטכניקות הבאות:
-
משוב הקצבת זיכרון של מצב אצווה הערכות גרועות של גודל הטבלאות עלולות לגרום ל"זליגה לדיסק" של השאילתות או לצריכה של זיכרון רב מדי. SQL Server 2017 מתאים הקצבות זיכרון על סמך משוב ביצוע, מסיר זליגות לדיסק ומשפר התרחשויות בו-זמניות עבור שאילתות חוזרות.
-
צירופים מסתגלים של מצב אצווה צירופים מסתגלים בוחרים באופן דינאמי סוג טוב יותר של צירוף פנימי (צירופים מקוננים של לולאה, מיזוג צירופים או צירופי Hash) במהלך זמן ריצה, המבוסס על שורות קלט בפועל. כתוצאה מכך, תוכנית יכולה לעבור בצורה דינאמית לאסטרטגיית צירופים טובה יותר במהלך הביצוע.
-
ביצוע משולב בעבר, בתהליך עיבוד השאילתה נהוג היה להתייחס לפונקציות בערך טבלה בעלות משפטים מרובים כקופסה שחורה. SQL Server 2017 יכול להעריך בצורה טובה יותר את ספירת השורות כדי לשפר פעולות במורד.
ניתן להפוך באופן אוטומטי עומסי עבודה לזכאים לעיבוד שאילתות מסתגל על-ידי השגת רמת תאימות של 140 עבור מסד הנתונים:
ALTER DATABASE [YourDatabaseName] SET COMPATIBILITY_LEVEL = 140;
לקבלת מידע נוסף, ראה עיבוד שאילתות חכם במסדי נתונים של SQL.
דרכים לביצוע שאילתות
ב- SQL Server קיימות כמה דרכים לביצוע שאילתה, ולכל אחת מהן יתרונות משלה. כדאי שתכיר אותן כדי שתוכל לבחור נכון את הפתרון שלך ב- Access. הדרך הטובה ביותר ליצור שאילתות TSQL היא לערוך אותן ולבדוק אותן באופן אינטראקטיבי באמצעות עורך Transact-SQL של SQL Server Management Studio (SSMS), המציע Intellisense כדי לעזור לך לבחור את מילות המפתח הנכונות ולבדוק אם קיימות שגיאות תחביר.
תצוגות
ב- SQL Server, תצוגה היא כמו טבלה וירטואלית שבה נתוני התצוגה מגיעים מטבלה אחת או יותר, או מתצוגות אחרות. עם זאת, ההפניה לתצוגות מתבצעת בדיוק כמו טבלאות בשאילתות. תצוגות יכולות להסתיר את המורכבות של שאילתות ולעזור להגן על הנתונים על-ידי הגבלת ערכות השורות והעמודות. להלן דוגמה לתצוגה פשוטה:
CREATE VIEW HumanResources.EmployeeHireDate AS
SELECT p.FirstName, p.LastName, e.HireDate
FROM HumanResources.Employee AS e JOIN Person.Person AS p
ON e.BusinessEntityID = p.BusinessEntityID;
לקבלת ביצועים מיטביים ולעריכה של תוצאות התצוגה, צור תצוגה סדורה באינדקס, שממשיכה להופיע במסד הנתונים כמו טבלה, שמוקצה לה אחסון ושניתן לבצע בה שאילתה כמו בכל טבלה. כדי להשתמש בה ב- Access, צור קישור לתצוגה באותו אופן שבו אתה יוצר קישור לטבלה. להלן דוגמה לתצוגה סדורה באינדקס:
CREATE VIEW Sales.vOrders
WITH SCHEMABINDING
AS
SELECT SUM(UnitPrice*OrderQty*(1.00-UnitPriceDiscount)) AS Revenue,
OrderDate, ProductID, COUNT_BIG(*) AS COUNT
FROM Sales.SalesOrderDetail AS od, Sales.SalesOrderHeader AS o
WHERE od.SalesOrderID = o.SalesOrderID
GROUP BY OrderDate, ProductID;
CREATE UNIQUE CLUSTERED INDEX IDX_V1
ON Sales.vOrders (OrderDate, ProductID);
עם זאת, ישנן מגבלות. לא ניתן לעדכן נתונים אם יותר מטבלת בסיס אחת מושפעת או אם התצוגה מכילה פונקציות צבירה או משפט DISTINCT. אם SQL Server מחזיר הודעת שגיאה המציינת שהיא לא יודעת איזו רשומה למחוק, ייתכן שיהיה עליך להוסיף גורם מפעיל של מחיקה לתצוגה. לבסוף, לא תוכל להשתמש במשפט ORDER BY כפי שניתן להשתמש בו בשאילתת Access.
לקבלת מידע נוסף, ראה תצוגות וצור תצוגות סדורות באינדקס.
פרוצדורות מאוחסנות
פרוצדורה מאוחסנת היא קבוצה של משפט TSQL אחד או יותר שמקבלים פרמטרים של קלט, מחזירים פרמטרים של פלט ומציינים הצלחה או כישלון עם ערך מצב. הן פועלות כשכבת ביניים בין החזית של Access לבין הקצה העורפי של SQL Server. פרוצדורות מאוחסנות יכולות להיות פשוטות כמו משפט SELECT או מורכבות כמו כל תוכנית. הנה דוגמה:
CREATE PROCEDURE HumanResources.uspGetEmployees
@LastName nvarchar(50),
@FirstName nvarchar(50)
AS
SET NOCOUNT ON;
SELECT FirstName, LastName, Department
FROM HumanResources.vEmployeeDepartmentHistory
WHERE FirstName = @FirstName AND LastName = @LastName
AND EndDate IS NULL;
כאשר אתה משתמש בפרוצדורה מאוחסנת ב- Access, היא בדרך כלל מחזירה ערכת תוצאות לטופס או לדוח. עם זאת, היא עשויה לבצע פעולות אחרות שלא מחזירות תוצאות, כגון משפטי DDL או DML. בעת השימוש בשאילתת מעבר, הקפד להגדיר נכון את המאפיין רשומות מוחזרות.
לקבלת מידע נוסף, ראה פרוצדורות מאוחסנות.
ביטויי טבלה נפוצים
ביטויי טבלה נפוצים (CTE) דומים לטבלה זמנית שיוצרת ערכת תוצאות בעלת שם. היא קיימת רק לצורך ביצוע של שאילתה יחידה או משפט DML יחיד. ביטוי CTE מוכלל בשורת הקוד שבה מוכלל המשפט SELECT או המשפט DML שמשתמש בו, ואילו יצירה של טבלה או תצוגה זמנית והשימוש בהן הם בדרך כלל תהליך דו-שלבי. הנה דוגמה:
-- Define the CTE expression name and column list.
WITH Sales_CTE (SalesPersonID, SalesOrderID, SalesYear)
AS
-- Define the CTE query.
(
SELECT SalesPersonID, SalesOrderID, YEAR(OrderDate) AS SalesYear
FROM Sales.SalesOrderHeader
WHERE SalesPersonID IS NOT NULL
)
-- Define the outer query referencing the CTE name.
SELECT SalesPersonID, COUNT(SalesOrderID) AS TotalSales, SalesYear
FROM Sales_CTE
GROUP BY SalesYear, SalesPersonID
ORDER BY SalesPersonID, SalesYear;
ביטוי CTE מציע כמה יתרונות, בין השאר:
-
מאחר שביטויי CTE הם ארעיים, אינך צריך ליצור אותם כאובייקטים קבועים של מסד נתונים כמו תצוגות.
-
ניתן לבצע הפניה לאותו CTE יותר מפעם אחת בשאילתה או במשפט DML; עובדה זו מאפשרת לנהל את הקוד שלך ביתר קלות.
-
ניתן להשתמש בשאילתות המבצעות הפניה ל- CTE כדי להגדיר סמן.
לקבלת מידע נוסף, ראה WITH common_table_expression.
פונקציות המוגדרות על-ידי המשתמש
פונקציה המוגדרת על-ידי המשתמש (UDF) יכולה לבצע שאילתות וחישובים ולהחזיר ערכים סקלריים או ערכות תוצאות של נתונים. הן דומות לפונקציות בשפות תיכנות שמקבלות פרמטרים, מבצעות פעולה, כגון חישוב מורכב ומחזירות את התוצאה של פעולה זו כערך. הנה דוגמה:
CREATE FUNCTION dbo.ISOweek (@DATE datetime)
RETURNS int WITH SCHEMABINDING -- Helps improve performance
WITH EXECUTE AS CALLER
AS
BEGIN
DECLARE @ISOweek int;
SET @ISOweek= DATEPART(wk,@DATE)+1
-DATEPART(wk,CAST(DATEPART(yy,@DATE) as CHAR(4))+'0104');
-- Special cases: Jan 1-3 may belong to the previous year
IF (@ISOweek=0)
SET @ISOweek=dbo.ISOweek(CAST(DATEPART(yy,@DATE)-1
AS CHAR(4))+'12'+ CAST(24+DATEPART(DAY,@DATE) AS CHAR(2)))+1;
-- Special case: Dec 29-31 may belong to the next year
IF ((DATEPART(mm,@DATE)=12) AND
((DATEPART(dd,@DATE)-DATEPART(dw,@DATE))>= 28))
SET @ISOweek=1;
RETURN(@ISOweek);
END;
GO
SET DATEFIRST 1;
SELECT dbo.ISOweek(CONVERT(DATETIME,'12/26/2004',101)) AS 'ISO Week';
פונקציית UDF כוללת מגבלות מסוימות. לדוגמה, הן לא יכולות להשתמש בפונקציות מערכת מסוימות לא דטרמיניסטיות, לבצע משפטי DML או DDL, או לבצע שאילתות SQL דינאמיות.
לקבלת מידע נוסף, ראה פונקציות מוגדרות על-ידי המשתמש.
הוספת מפתחות ואינדקסים
לא משנה באיזו מערכת של מסדי נתונים אתה משתמש, מפתחות ואינדקסים הולכים יד ביד.
מפתחות
ב- SQL Server, הקפד ליצור מפתחות ראשיים עבור כל טבלה ומפתחות זרים עבור כל טבלה קשורה. התכונה המקבילה ב- SQL Server לסוג הנתונים 'מספור אוטומטי' של Access היא המאפיין IDENTITY, שניתן להשתמש בו כדי ליצור ערכי מפתח. לאחר החלת מאפיין זה על עמודה מספרית כלשהי, היא עוברת למצב 'לקריאה בלבד' ונשמרת על-ידי מערכת מסד הנתונים. בעת הוספת רשומה לטבלה המכילה עמודת IDENTITY, המערכת מוסיפה באופן אוטומטי 1 לערך של עמודת IDENTITY, החל מ- 1, אולם ניתן לשלוט בערכים אלה באמצעות ארגומנטים.
לקבלת מידע נוסף, ראה CREATE TABLE, IDENTITY (מאפיין).
אינדקסים
כמו תמיד, בחירת האינדקסים היא פעולה מאזנת בין מהירות השאילתה לבין עלות העדכון. ב- Access, יש לך סוג אחד של אינדקס, אבל ב- SQL Server יש לך 12 סוגים. למרבה המזל, ניתן להשתמש בממטב השאילתות כדי לבחור באופן מהימן באינדקס האפקטיבי ביותר. וב- Azure SQL, ניתן להשתמש בניהול אינדקס אוטומטי, תכונה של כוונון אוטומטי, שממליצה להוסיף או להסיר בעבורך את האינדקסים. בניגוד ל- Access, עליך ליצור אינדקסים משלך עבור מפתחות זרים ב- SQL Server. ניתן גם ליצור אינדקסים בתצוגה סדורה באינדקס כדי לשפר את ביצועי השאילתה. החיסרון בתצוגה סדורה באינדקס הוא הוצאות תקורה גבוהות יותר בעת שינוי נתונים בטבלאות הבסיס של התצוגה, מכיוון שצריך לעדכן גם את התצוגה. לקבלת מידע נוסף, ראה מדריך ארכיטקטורה ועיצוב של אינדקסים ב- SQL Server ואינדקסים.
ביצוע טרנזקציות
תהליך טרנזקציות מקוון (OLTP) קשה לביצוע כאשר משתמשים ב- Access, אך קל יחסית לביצוע עם SQL Server. טרנזקציה היא יחידת עבודה יחידה שמבצעת את כל שינויי הנתונים כשהיא מצליחה, אך מחזירה את השינויים כאשר היא לא מצליחה. טרנזקציה צריכה לכלול ארבעה מאפיינים, הנקראים בדרך כלל ACID:
-
ערכיות טרנזקציה חייבת להיות יחידת עבודה ערכית; או שכל שינויי הנתונים שלה מבוצעים, או שאף שינוי לא מבוצע.
-
עקביות עם סיום התהליך, טרנזקציה צריכה להשאיר את כל הנתונים במצב עקבי. פירוש הדבר שכל כללי תקינות הנתונים מוחלים.
-
בידוד שינויים שבוצעו על-ידי טרנזקציות בו-זמניות מבודדים מהטרנזקציה הנוכחית.
-
עמידות לאחר השלמה של טרנזקציה, השינויים קבועים גם במקרה של כשל במערכת.
אתה משתמש בטרנזקציה כדי להבטיח תקינות נתונים, כגון משיכת כסף מכספומט או הפקדה אוטומטית של תלוש שכר. ניתן לבצע טרנזקציות מפורשות, משתמעות או טרנזקציות המסופחות לאצוות. להלן שתי דוגמאות TSQL:
-- Using an explicit transaction
BEGIN TRANSACTION;
DELETE FROM HumanResources.JobCandidate
WHERE JobCandidateID = 13;
COMMIT;
-- the ROLLBACK statement rolls back the INSERT statement, but the created table still exists.
CREATE TABLE ValueTable (id int);
BEGIN TRANSACTION;
INSERT INTO ValueTable VALUES(1);
INSERT INTO ValueTable VALUES(2);
ROLLBACK;
לקבלת מידע נוסף, ראה טרנזקציות.
שימוש באילוצים ובגורמים מפעילים
לכל מסדי הנתונים יש דרכים לשמירה על תקינות נתונים.
אילוצים
ב- Access, עליך לאכוף שלמות הקשרים ביחסי גומלין בין טבלאות באמצעות זוגות של מפתח זר-מפתח ראשי, עדכונים ומחיקות מדורגים וכללי אימות. לקבלת מידע נוסף, ראה מדריך ליחסי גומלין בין טבלאות והגבלת קלט נתונים באמצעות כללי אימות.
ב- SQL Server, עליך להשתמש באילוצים UNIQUE ו- CHECK, שהם אובייקטי מסד נתונים אשר אוכפים תקינות נתונים בטבלאות SQL Server. כדי לוודא שערך הוא חוקי בטבלה אחרת, השתמש באילוץ של מפתח זר. כדי לוודא שערך בעמודה נמצא בטווח ספציפי, השתמש באילוץ CHECK. אובייקטים אלה הם קו ההגנה הראשון והם נועדו לפעול ביעילות. לקבלת מידע נוסף, ראה אילוצים מסוג Unique ו- Check.
גורמים מפעילים
Access אינו כולל גורמים מפעילים של מסד נתונים. ב- SQL Server, ניתן להשתמש בגורמים מפעילים כדי לאכוף כללי תקינות נתונים מורכבים ולהפעיל לוגיקה עסקית זו בשרת. גורם מפעיל של מסד נתונים הוא פרוצדורה מאוחסנת שפועלת כאשר פעולות ספציפיות מתרחשות בתוך מסד נתונים. הגורם המפעיל הוא אירוע, למשל הוספה או מחיקה של רשומה בטבלה, שמופעל ולאחר מכן מבצע את הפרוצדורה המאוחסנת. על אף שמסד נתונים של Access יכול להבטיח שלמות הקשרים כאשר משתמש מנסה לעדכן או למחוק נתונים, SQL Server כולל ערכה מתוחכמת של גורמים מפעילים. לדוגמה, ניתן לתכנת גורם מפעיל כך שימחק רשומות בצובר ויבטיח תקינות נתונים. אפשר אפילו להוסיף גורמים מפעילים לטבלאות ולתצוגות.
לקבלת מידע נוסף, ראה גורמים מפעילים - DML, גורמים מפעילים - DDL ותכנון גורם מפעיל של T-SQL.
שימוש בעמודות מחושבות
ב- Access, אתה יוצר עמודה מחושבת על-ידי הוספתה לשאילתה ובניית ביטוי, כגון:
Extended Price: [Quantity] * [Unit Price]
ב- SQL Server, התכונה המקבילה נקראת עמודה מחושבת (computed column), שהיא עמודה וירטואלית שאינה מאוחסנת פיזית בטבלה, אלא אם העמודה מסומנת כ- PERSISTED. בדומה לעמודה מחושבת ב- Access, עמודה מחושבת ב- SQL Server משתמשת בנתונים מעמודות אחרות בביטוי. כדי ליצור עמודה מחושבת, הוסף אותה לטבלה. לדוגמה:
CREATE TABLE dbo.Products
(
ProductID int IDENTITY (1,1) NOT NULL
, QtyAvailable smallint
, UnitPrice money
, InventoryValue AS QtyAvailable * UnitPrice
);
לקבלת מידע נוסף, ראה הגדרת עמודות מחושבות בטבלה.
חותמת זמן של הנתונים שלך
לעתים עליך להוסיף שדה טבלה כדי לבצע רישום של חותמת זמן בעת יצירת רשומה, כדי שתוכל לבצע רישום של הזנת הנתונים. ב- Access, אתה יכול פשוט ליצור עמודת תאריך עם ערך ברירת המחדל =Now(). כדי לבצע רישום של תאריך או שעה ב- SQL Server, השתמש בסוג הנתונים datetime2 עם ערך ברירת המחדל SYSDATETIME().
הערה אל תבלבל בין rowversion לבין הוספה של חותמת זמן לנתונים שלך. מילת המפתח timestamp היא מילה נרדפת ל- rowversion ב- SQL Server, אך עליך להשתמש במילת המפתח rowversion. ב- SQL Server, rowversion הוא סוג נתונים שחושף מספרים בינאריים ייחודיים שנוצרו באופן אוטומטי בתוך מסד נתונים, והוא לרוב משמש כמנגנון להחתמת גירסאות בשורות טבלה. עם זאת, סוג הנתונים rowversion הוא רק מספר שגדל בהפרש קבוע, אינו משמר תאריך או שעה ואינו מיועד להחתמת שורה.
לקבלת מידע נוסף, ראה rowversion. לקבלת מידע נוסף אודות השימוש ב- rowversion כדי למזער התנגשויות של רשומות, ראה העברת מסד נתונים של Access ל- SQL Server.
ניהול אובייקטים גדולים
ב- Access אתה מנהל נתונים לא מובנים, כגון קבצים, צילומים ותמונות, באמצעות סוג הנתונים 'קובץ מצורף'. במינוח של SQL Server, נתונים לא מובנים נקראים Blob (אובייקט בינארי גדול) ויש כמה דרכים לעבוד איתם:
FILESTREAM שימוש בסוג הנתונים varbinary(max) כדי לאחסן את הנתונים הלא מובנים במערכת הקבצים במקום במסד הנתונים. לקבלת מידע נוסף, ראה גישה לנתוני FILESTREAM עם Transact-SQL.
FileTable אחסון רכיבי Blob בטבלאות מיוחדות בשם FileTables ותאימות של יישומי Windows כאילו הם אוחסנו במערכת הקבצים, ומבלי לבצע שינויים ביישומי הלקוח שלך. FileTable מחייב שימוש ב- FILESTREAM. לקבלת מידע נוסף, ראה FileTables.
מאגר BLOB מרוחק (RBS) אחסון אובייקטים בינאריים גדולים (רכיבי BLOB) בפתרונות של אחסון סחורות במקום ישירות בשרת. פעולה זו חוסכת מקום ומקטינה משאבי חומרה. לקבלת מידע נוסף, ראה נתונים של אובייקט בינארי גדול (Blob).
עבודה עם נתונים הירארכיים
על אף שמסדי נתונים יחסיים, כגון Access, הם מאוד גמישים, העבודה עם קשרים הירארכיים היא חריגה ולרוב מצריכה משפטי SQL מורכבים או קוד מורכב. להלן דוגמאות לנתונים הירארכיים: מבנה ארגוני, מערכת קבצים, טקסונומיה של מונחי שפה וגרף של קישורים בין דפי אינטרנט. SQL Server כולל סוג נתונים מוכלל hierarchyid וקבוצה של פונקציות הירארכיות כדי לאחסן ולנהל בקלות נתונים הירארכיים ולבצע בהם שאילתות.
לקבלת מידע נוסף, ראה נתונים הירארכיים וערכת לימוד: שימוש בסוג הנתונים hierarchyid.
טיפול בטקסט JSON
JavaScript Object Notation (JSON) הוא שירות אינטרנט שמשתמש בטקסט הניתן לקריאה על-ידי אנשים כדי להעביר נתונים כזוגות של מאפיין-ערך בתקשורת אסינכרונית של דפדפן-שרת. לדוגמה:
{
"firstName": "Mary",
"lastName": "Contrary",
"spouse": null,
"age": 27
}
Access אינו כולל דרכים מוכללות לניהול נתוני JSON, אך ב- SQL Server אפשר בקלות לאחסן ולחלץ נתוני JSON, ליצור עבורם אינדקס ולבצע בהם שאילתות. ניתן להמיר ולאחסן טקסט JSON בטבלה או לעצב נתונים כטקסט JSON. לדוגמה, מומלץ לעצב תוצאות שאילתה כ- JSON עבור אפליקציית אינטרנט או להוסיף מבנים של נתוני JSON לשורות ולעמודות.
הערה JSON אינו נתמך ב- VBA. כחלופה, ניתן להשתמש ב- XML ב- VBA באמצעות ספריית MSXML.
לקבלת מידע נוסף, ראה נתוני JSON ב- SQL Server.
משאבים
זהו זמן מצוין לקבל מידע נוסף על SQL Server ו- Transact SQL (TSQL). כפי שראית, ישנן תכונות רבות הזהות לאלה של Access, אך גם יכולות שפשוט לא קיימות ב- Access. כדי להתקדם בסיור ולעבור לשלב הבא, להלן כמה משאבי למידה:
משאב |
תיאור |
קורס מבוסס וידאו |
|
ערכות לימוד בנושא SQL Server 2017 |
|
למידה מעשית עבור Azure |
|
הפוך למומחה |
|
דף היעד הראשי |
|
מידע בנושא עזרה |
|
מידע בנושא עזרה |
|
מבט כולל על הענן |
|
סיכום חזותי של תכונות חדשות |
|
סיכום של תכונות לפי גירסאות |
|
הורד את SQL Server Express 2017 |
|
הורד מסדי נתונים לדוגמה |