סיכום

עדכון זה מציג פקודת ניהול חדשה DBCC CLONEDATABASE (TRANSACT-sql) ב-sql server 2017 ב-Windows, Service PACK 4 עבור sql server 2012,Microsoft SQL server 2014 Service Pack 2 ו- sql server 2016 SP1. פקודה זו יוצרת מסד נתונים חדש המכיל את הסכימה של כל האובייקטים והסטטיסטיקות ממסד הנתונים המוגדר כמקור. 

הערה בסביבות SQL Server 2014, עליך להתקין את העדכון המצטבר 3 עבור SQL server 2014 SP2 כדי לקבל את היכולת לשכפל אובייקטי Filestream, FileTable ושפות נפוצות של שפה (CLR) ולשכפל עם אפשרויות NO_STATISTICS באמצעות DBCC.

אודות ערכות service pack עבור SQL Server

 

ערכות Service pack מצטברות. כל ערכת service pack חדשה מכילה את כל התיקונים הכלולים בערכות service pack קודמות, יחד עם כל התיקונים החדשים. ההמלצה שלנו היא להחיל את ה-service pack העדכני ביותר ואת העדכון המצטבר העדכני ביותר עבור ה-service pack. אין לך אפשרות להתקין ערכת service pack קודמת לפני התקנת ערכת השירות העדכנית ביותר. השתמש בטבלה 1 במאמר הבא לקבלת מידע נוסף אודות ערכת השירות העדכנית ביותר והעדכון המצטבר העדכני ביותר.

כיצד לקבוע את רמת הגירסה, המהדורה והעדכון של SQL Server ורכיביו

אודות DBCC CLONEDATABASE

שירותי התמיכה של הלקוחות של Microsoft עשויים לבקש ממך ליצור שיבוט של מסד נתונים באמצעות DBCC CLONEDATABASE כדי לבדוק בעיית ביצועים הקשורה לממטב השאילתות.הערה מסד הנתונים החדש שנוצר מ- DBCC CLONEDATABASE אינו נתמך לשימוש כמסד נתונים של הפקה והוא מיועד בעיקר למטרות פתרון בעיות ואבחון. אנו ממליצים לנתק את מסד הנתונים המשוכפל לאחר יצירת מסד הנתונים. השכפול של מסד הנתונים המשמש כמקור מתבצע על-ידי הפעולות הבאות:

  • יצירת מסד נתונים של יעד חדש המשתמש באותו פריסת קובץ כמקור אך עם גדלי קבצים המהווים ברירת מחדל כמסד הנתונים של המודל.

  • יצירת תמונה פנימית של מסד הנתונים המשמש כמקור.

  • העתקת מטה-נתונים של המערכת מהמקור למסד הנתונים המשמש כיעד.

  • העתקת כל הסכימות עבור כל האובייקטים מהמקור למסד הנתונים המשמש כיעד.

  • העתקת סטטיסטיקות עבור כל האינדקסים מהמקור למסד הנתונים המשמש כיעד.

תחביר

DBCC CLONEDATABASE (source_database_name, target_database_name)[WITH [NO_STATISTICS][,NO_QUERYSTORE]] 

ארגומנטים

  • source_database_nameארגומנט זה הוא שם מסד הנתונים שאת הסכימה שלו והסטטיסטיקה שלו יש להעתיק.

  • target_database_nameארגומנט זה הוא שם מסד הנתונים שאליו יועתק הסכימה והסטטיסטיקה ממסד הנתונים המשמש כמקור. מסד נתונים זה ייווצר על-ידי DBCC CLONEDATABASE והוא לא יוכל להתקיים עדיין.

  • NO_STATISTICSארגומנט זה מציין אם יש לכלול סטטיסטיקת טבלה/אינדקס בשכפול. אם אפשרות זו לא צוינה, סטטיסטיקת טבלה/אינדקס כלולות באופן אוטומטי. אפשרות זו זמינה החל מ-SQL Server 2014 SP2 CU3 ו-SQL Server 2016 Service Pack 1.

  • NO_QUERYSTOREארגומנט זה מציין אם יש לכלול את מאגר השאילתות בשכפול. אם אפשרות זו לא צוינה, נתוני מאגר השאילתות מועתקים לשכפול אם הוא מופעל במסד הנתונים המשמש כמקור. אפשרות זו זמינה החל מ-SQL Server 2016 Service Pack 1.

מתי להשתמש ב-DBCC CLONEDATABASE?

יש להשתמש ב- DBCC CLONEDATABASE כדי ליצור עותק וסטטיסטיקה בלבד של מסד נתונים של ייצור כדי לבדוק בעיות בביצועי שאילתה. שים לב להגבלות ולאובייקטים הנתמכים הבאים:

  • הגבלותהאימותים הבאים מבוצעים על-ידי DBCC CLONEDATABASE. הפקודה נכשלת אם אחד מהתוקפים נכשל.

    • מסד הנתונים המשמש כמקור חייב להיות מסד נתונים של משתמש. שכפול של מסדי נתונים של מערכת (תבנית בסיס, מודל, msdb, tempdb, מסד נתונים של הפצה וכדומה) אינו מותר.

    • מסד הנתונים המשמש כמקור חייב להיות מקוון או קריא.

    • מסד נתונים המשתמש באותו שם שבו מסד הנתונים של השכפול אינו יכול להתקיים עדיין.

    • הפקודה אינה מופיעה בטרנזקציית משתמש.

    אם כל האימותים יצליחו, DBCC CLONEDATABASE יפעל את הפעולות הבאות:

    • יצירת קובץ נתונים ראשי וקובץ יומן רישום

    • הוספת dataspaces משני

    • הוספת קבצים משניים

    הערה כל הקבצים במסד הנתונים היעד יירשו את הגודל והגדרות הגידול ממסד הנתונים של המודל. אמנת שם הקובץ: שמות הקבצים עבור מסד הנתונים המשמש כיעד יצייתו לועידת המספרים הsource_file_name _underscore_random . אם שם הקובץ שנוצר כבר קיים בתיקיית היעד, DBCC CLONEDATABASE ייכשל.

  • תמונת מסד נתונים פנימיתDBCC CLONEDATABASE משתמשת בתמונת מסד נתונים פנימית של מסד הנתונים המשמש כמקור עבור עקביות הטרנזאקציות הדרושה לביצוע העותק. פעולה זו מונעת בעיות חסימה ושיתוף פעולה כאשר פקודות אלה מתבצעות. אם לא ניתן ליצור תמונה, DBCC CLONEDATABASE ייכשל. נעילות ברמת מסד הנתונים מוחזקות במהלך השלבים הבאים של תהליך ההעתקה:

    • אימות מסד הנתונים המשמש כמקור

    • קבל נעילת S עבור מסד הנתונים המשמש כמקור

    • יצירת תמונה של מסד הנתונים המשמש כמקור

    • יצירת מסד נתונים של משכפלים (זהו מסד נתונים ריק היורש מודל)

    • קבל את X lock עבור מסד הנתונים לשכפול

    • העתקת המטה-נתונים למסד הנתונים של השכפול

    • שחרור כל מנעולי DB

    ברגע שהפקודה תסיים לפעול, התמונה הפנימית תבוטל. TRUSTWORTHY אפשרויות אמינות וDB_CHAINING כבויות במסד נתונים משוכפל.

אובייקטים נתמכים

רק סכימת האובייקטים הבאים תשכפל במסד הנתונים המשמש כיעד. אובייקטים מוצפנים משוכפלים, אך אינם נתמכים בשכפול במהדורה זו של SQL Server. כל האובייקטים שאינם מופיעים במקטע הבא אינם נתמכים בשכפול:

  • תפקיד יישום

  • הקבוצה ' זמינות '

  • אינדקס COLUMNSTORE

  • CDB

  • בקרת

  • מעקב אחר שינויים (SQL SERVER 2016 SP2 CU10, SQL server 2017 CU17, SQL server 2019 CU1 וגירסאות מתקדמות יותר)

  • CLR (הפעלת SQL Server 2014 SP2 CU3, SQL Server 2016 Service Pack 1 ואילך)

  • מאפייני מסד נתונים

  • ברירת חדל

  • קבצים וFILEGROUPS

  • טקסט מלא (הפעלת SQL Server 2016 SP1 CU2)

  • פונקציה

  • אינדקס

  • LOGIN

  • הפונקציה PARTITION

  • ערכת מחיצות

  • הליך הערה פרוצדורות T-SQL נתמכות בכל המהדורות המתחילות ב-SQL Server 2014 SP2. פרוצדורות CLR נתמכות על-ידי הפעלת SQL Server 2014 SP2 CU3. הליכים שעברו הידור מקורי נתמכים בהפעלת SQL Server 2016 SP1.

  • מאגר שאילתות (רק ב-SQL Server 2016 Service Pack 1 ו-גירסה מתקדמת יותר) הערה מאגר השאילתות מועתק רק אם הוא מופעל במסד הנתונים המשמש כמקור. כדי להעתיק את סטטיסטיקת זמן הריצה העדכנית ביותר כחלק ממאגר השאילתות, בצע sp_query_store_flush_db כדי לרוקן את סטטיסטיקת זמן הריצה למאגר השאילתות לפני ביצוע DBCC CLONEDATABASE.

  • תפקיד

  • כלל

  • סכימה

  • רצף

  • אינדקס מרחבי

  • סטטיסטיקה

  • ילה נרדפת

  • טבלה

  • טבלאות ממוטבות של זיכרון (רק ב-SQL Server 2016 SP1 וגירסאות מתקדמות יותר).

  • FILESTREAM ו-FILETABLE OBJECTs (הפעלת SQL Server 2014 SP2 CU3, SQL Server 2016 SP1 וגירסאות מתקדמות יותר).

  • הפעלת

  • סוג

  • שדרוג DB

  • משתמש

  • תצוגה

  • אינדקס XML

  • אוסף סכימות XML

 

רשאות

עליך להיות בעל החברות בתפקיד שרת קבוע של מנהל התקן.

מגבלות ושיקולים

DBCC CLONEDATABASE אינו תומך ביצירה של שיבוט אם קיימים אובייקטי משתמשים (טבלאות, אינדקסים, סכימות, תפקידים וכן הלאה) שנוצרו במסד הנתונים של המודל. אם אובייקטי משתמשים נמצאים במסד הנתונים של המודל, שכפול מסד הנתונים נכשל עם הודעת השגיאה הבאה:

Msg 2601, רמה 14, מדינה 1, קו 1אינו יכול להוסיף שורת מפתח כפול באובייקט <system table> עם אינדקס ייחודי ' שם אינדקס '. ערך המפתח הכפול הוא <key value>   

לקבלת מידע הקשור לאבטחת נתונים במסדי נתונים משוכפלים, עיין בבלוג הבא:הכרת אבטחת נתונים במסדי נתונים משוכפלים.

אם יש לך אינדקסים של חנות עמודות, עיין בבלוג הבא:שיקולים כאשר אתה מכוונן את השאילתות עם אינדקסים של Columnstore במסדי נתונים של שכפוליםכדי לעדכן סטטיסטיקת אינדקס של Columnstore לפני הפעלת הפקודה DBCC CLONEDATABASE .

הודעות יומן רישום של שגיאות

ההודעות הבאות נרשמות ביומן השגיאות במהלך תהליך השכפול:

<חותמת זמןשל > spid53 שיבוט עבור ' sourcedb ' הופעל עם היעד ' sourcedb_clone '._LT_ חותמת זמן> spid53 הפעלת מסד הנתונים ' Sourcedb_clone ' .<חותמת זמן> spid53 הגדרת מסד הנתונים ' ' חותמת זמן של הגדרת מסד הנתונים ' מהימן ' sourcedb_clone ' .<חותמת זמןשל הגדרת מסד הנתונים של > spid53 DB_CHAINING לבטל את מסד הנתונים ' Sourcedb_clone ' .<חותמת זמן_GT_ spid53 הפעלת מסד נתונים ' sourcedb_clone ' .<חותמת> spid53 מסד הנתונים ' sourcedb_clone ' הוא מסד נתונים משוכפל. מסד נתונים משוכפל אמור לשמש למטרות אבחון בלבד ואינו נתמך לשימוש בייצור environment.<חותמת זמןשל > spid53 שכפול מסד הנתונים של ' sourcedb ' הסתיים. מסד נתונים משוכפל הוא ' sourcedb_clone '.

מאפיין מסד נתונים

הוספת מאפיין חדש של מסד הנתונים IsClone . DATABASEPROPERTYEX (' dbname ', ' IsClone ') יוחזר 1 אם מסד הנתונים נוצר באמצעות DBCC CLONEDATABASE.

דוגמאות

  1. יצירת שיבוט של מסד הנתונים של AdventureWorks הכולל סכימה, סטטיסטיקה ומאגר שאילתות (SQL Server 2016 SP1 וגירסאות מתקדמות יותר)

    Transact-SQL -- Generate the clone of AdventureWorks database.    DBCC CLONEDATABASE (AdventureWorks, AdventureWorks_Clone);    GO 
  2. יצירת שיבוט של סכימה בלבד של מסד הנתונים של AdventureWorks ב-SQL Server 2014 ללא סטטיסטיקה (SQL Server 2014 SP2 CU3 וגירסאות מתקדמות יותר)

    DBCC CLONEDATABASE (AdventureWorks, AdventureWorks_Clone) WITH NO_STATISTICS
  3. יצירת שיבוט של סכימה בלבד של מסד הנתונים של AdventureWorks ללא סטטיסטיקה ומאגר שאילתות (SQL Server 2016 SP1 וגירסאות מתקדמות יותר)

    DBCC CLONEDATABASE (AdventureWorks, AdventureWorks_Clone) WITH NO_STATISTICS,NO_QUERYSTORE

הפניות

קבל מידע על המינוח שבו Microsoft משתמשת כדי לתאר עדכוני תוכנה.

זקוק לעזרה נוספת?

הרחב את הכישורים שלך
סייר בהדרכה
קבל תכונות חדשות לפני כולם
הצטרף למשתתפי Microsoft insider

האם מידע זה היה שימושי?

עד כמה אתם מרוצים מאיכות השפה?
מה השפיע על החוויה שלכם?

תודה על המשוב!

×