בדף הזה מוסבר איך לנהל את מסד הנתונים tempdb ב-Cloud SQL.
מסד הנתונים tempdb הוא מסד נתונים של המערכת שמכיל הרבה אובייקטים, כולל טבלאות זמניות, פרוצדורות מאוחסנות ועוד. במופעים שלכם, אתם יכולים לבצע פעולות נפוצות במסד הנתונים הזה.
מסד נתונים של tempdb נוצר מחדש בכל פעם שמפעילים מחדש מופע. כדי למנוע אובדן של הרשאות משתמש, Cloud SQL מעניק הרשאות למשתמש sqlserver אחרי הפעלה מחדש של מכונה.
סקירה כללית
לsqlserver משתמש
יש הרשאת ALTER לניהול האפשרויות של מסד הנתונים tempdb.
מידע נוסף על ניהול המשאב הזה זמין בדף מסד הנתונים tempdb.
ניהול קבצים של tempdb
אחרי שמתחברים למופע, המשתמש sqlserver יכול לנהל את הקבצים של tempdb.
מספר קבצים
למשתמש יש הרשאת ALTER במסד הנתונים tempdb, שמאפשרת לו לשלוט בהגדרות של מספר הקבצים ועוד. דוגמאות לפעולות:
ALTER DATABASE [tempdb] ADD FILEALTER 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:
אפשרות ברירת המחדל
msdb.dbo.gcloudsql_tempdb_shrinkfile @filename = 'FILENAME'
כאשר:
- FILENAME: שם הקובץ שרוצים להקטין. לדוגמה,
tempdev.
הפקודה הזו מריצה את הפקודות הבאות של SQL Server:
USE tempdbDBCC SHRINKFILE (@filename)
- FILENAME: שם הקובץ שרוצים להקטין. לדוגמה,
EMPTYFILEmsdb.dbo.gcloudsql_tempdb_shrinkfile @filename = 'FILENAME', @empty_file=EMPTY_FILE_INT
כאשר:
- EMPTY_FILE_INT: ערך של מספר שלם, 0 או 1. אם 1,
אז
EMPTYFILEמועבר כאפשרות. האפשרות הזו מקבלת עדיפות על פני פרמטרים אחרים.
הפקודה הזו מריצה את הפקודות הבאות של SQL Server:
USE tempdbDBCC SHRINKFILE (@filename, EMPTYFILE)
- EMPTY_FILE_INT: ערך של מספר שלם, 0 או 1. אם 1,
אז
גודל היעד
msdb.dbo.gcloudsql_tempdb_shrinkfile @filename = 'FILENAME', @target_size=TARGET_SIZE_INT
כאשר:
- TARGET_SIZE_INT: מספר שלם שמייצג את גודל היעד של הקובץ במגה-בייט. מעבירה לפקודה
DBCC SHRINKFILEכל ערך שגדול מאפס או שווה לו. לדוגמה,10.
הפקודה הזו מריצה את הפקודות הבאות של SQL Server. המספר השלם 10 כלול כדוגמה:
USE tempdbDBCC SHRINKFILE (@filename, 10)
- TARGET_SIZE_INT: מספר שלם שמייצג את גודל היעד של הקובץ במגה-בייט. מעבירה לפקודה
גודל יעד וחיתוך בלבד
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 tempdbDBCC SHRINKFILE (@filename, 10, TRUNCATEONLY)
- TRUNCATE_ONLY_INT: מקבל ערך שלם של 0 או 1.
אם הערך הוא 1, המדיניות
גודל היעד ולא נבחרה אפשרות חיתוך
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 tempdbDBCC SHRINKFILE (@filename, 10, NOTRUNCATE)
- NO_TRUNCATE_INT: מקבל ערך שלם של 0 או 1.
אם הערך הוא 1, המדיניות