ניהול מסד נתונים של tempdb

בדף הזה מוסבר איך לנהל את מסד הנתונים tempdb ב-Cloud SQL.

מסד הנתונים tempdb הוא מסד נתונים של המערכת שמכיל הרבה אובייקטים, כולל טבלאות זמניות, פרוצדורות מאוחסנות ועוד. במופעים שלכם, אתם יכולים לבצע פעולות נפוצות במסד הנתונים הזה.

מסד נתונים של tempdb נוצר מחדש בכל פעם שמפעילים מחדש מופע. כדי למנוע אובדן של הרשאות משתמש, Cloud SQL מעניק הרשאות למשתמש sqlserver אחרי הפעלה מחדש של מכונה.

סקירה כללית

לsqlserver משתמש יש הרשאת ALTER לניהול האפשרויות של מסד הנתונים tempdb.

מידע נוסף על ניהול המשאב הזה זמין בדף מסד הנתונים tempdb.

ניהול קבצים של tempdb

אחרי שמתחברים למופע, המשתמש sqlserver יכול לנהל את הקבצים של tempdb.

מספר קבצים

למשתמש יש הרשאת ALTER במסד הנתונים tempdb, שמאפשרת לו לשלוט בהגדרות של מספר הקבצים ועוד. דוגמאות לפעולות:

  • ALTER DATABASE [tempdb] ADD FILE
  • ALTER DATABASE [tempdb] REMOVE

גודל הקובץ

בקטעים הבאים מתוארות שיטות שמשמשות לשליטה בגודל הקבצים במסד הנתונים של tempdb.

מידע נוסף על השיטות האלה זמין במאמר בנושא הקטנת מסד הנתונים tempdb.

שינוי גודל הקבצים ב-tempdb

כדי לשלוט בגודל הקבצים במסד הנתונים tempdb, משתמשים בהצהרה ALTER DATABASE. מידע נוסף זמין במאמר בנושא אפשרויות של קובץ וקבוצת קבצים של ALTER DATABASE (Transact-SQL).

הקטנת הגודל של קובץ ספציפי

msdb.dbo.gcloudsql_tempdb_shrinkfile הוא stored procedure שאפשר להשתמש בו כדי לצמצם קובץ ספציפי במסד הנתונים tempdb.

הפרוצדורה המאוחסנת הזו מספקת את כל היתרונות של הפקודה DBCC SHRINKFILE.

בדוגמאות הבאות מוצג שימוש בmsdb.dbo.gcloudsql_tempdb_shrinkfilestored procedure ובפרמטרים שלה, כפי שמופיע בCloud SQL Studio:

  1. אפשרות ברירת המחדל

    msdb.dbo.gcloudsql_tempdb_shrinkfile @filename = 'FILENAME'

    כאשר:

    • FILENAME: שם הקובץ שרוצים להקטין. לדוגמה, tempdev.

    הפקודה הזו מריצה את הפקודות הבאות של SQL Server:

    • USE tempdb
    • DBCC SHRINKFILE (@filename)
  2. EMPTYFILE

    msdb.dbo.gcloudsql_tempdb_shrinkfile @filename = 'FILENAME', @empty_file=EMPTY_FILE_INT

    כאשר:

    • EMPTY_FILE_INT: ערך של מספר שלם, 0 או 1. אם 1, אז EMPTYFILE מועבר כאפשרות. האפשרות הזו מקבלת עדיפות על פני פרמטרים אחרים.

    הפקודה הזו מריצה את הפקודות הבאות של SQL Server:

    • USE tempdb
    • DBCC SHRINKFILE (@filename, EMPTYFILE)
  3. גודל היעד

    msdb.dbo.gcloudsql_tempdb_shrinkfile @filename = 'FILENAME', @target_size=TARGET_SIZE_INT

    כאשר:

    • TARGET_SIZE_INT: מספר שלם שמייצג את גודל היעד של הקובץ במגה-בייט. מעבירה לפקודה DBCC SHRINKFILE כל ערך שגדול מאפס או שווה לו. לדוגמה, 10.

    הפקודה הזו מריצה את הפקודות הבאות של SQL Server. המספר השלם 10 כלול כדוגמה:

    • USE tempdb
    • DBCC SHRINKFILE (@filename, 10)
  4. גודל יעד וחיתוך בלבד

    msdb.dbo.gcloudsql_tempdb_shrinkfile @filename = 'FILENAME', @target_size=10, @truncateonly=TRUNCATE_ONLY_INT

    כאשר:

    • TRUNCATE_ONLY_INT: מקבל ערך שלם של 0 או 1. אם הערך הוא 1, המדיניות TRUNCATEONLY מועברת כאפשרות. אם מעבירים את TRUNCATEONLY, המערכת מתעלמת מגודל היעד. האפשרות הזו מקבלת עדיפות על פני NOTRUNCATE.

    הפקודה הזו מריצה את הפקודות הבאות של SQL Server:

    • USE tempdb
    • DBCC SHRINKFILE (@filename, 10, TRUNCATEONLY)
  5. גודל היעד ולא נבחרה אפשרות חיתוך

    msdb.dbo.gcloudsql_tempdb_shrinkfile @filename = 'FILENAME', @target_size=10, @no_truncate=NO_TRUNCATE_INT

    כאשר:

    • NO_TRUNCATE_INT: מקבל ערך שלם של 0 או 1. אם הערך הוא 1, המדיניות NOTRUNCATE מועברת כאפשרות.

    הפקודה הזו מריצה את הפקודות הבאות של SQL Server:

    • USE tempdb
    • DBCC SHRINKFILE (@filename, 10, NOTRUNCATE)

המאמרים הבאים