דילוג לתוכן
מאמרים ומרכז ידע / ניהול ותפעול

ייצוא טבלה ב־SQL Server: למה הוא אינו גיבוי למסד הנתונים?

צריכים להוציא טבלה אחת מ־SQL Server, ולא את כל המסד? יש מצבים שבהם זה שימושי: ייצוא נתונים, מעבר מערכת או עותק נוסף לפני שינוי. אבל כאן חשוב לעצור לרגע: קובץ עם נתוני טבלה אינו גיבוי מלא של מסד הנתונים. נבין מתי העתקה כזאת…

12.10.2026 · 6 דקות קריאה
איור בנושא ייצוא טבלה ב־SQL Server: למה הוא אינו גיבוי למסד הנתונים?

צריכים להוציא טבלה אחת מ־SQL Server, ולא את כל המסד? יש מצבים שבהם זה שימושי: ייצוא נתונים, מעבר מערכת או עותק נוסף לפני שינוי. אבל כאן חשוב לעצור לרגע: קובץ עם נתוני טבלה אינו גיבוי מלא של מסד הנתונים. נבין מתי העתקה כזאת מתאימה, איך משתמשים ב־BCP ומה היא משאירה בחוץ.

טבלה היא חלק מהמסד

  • ייצוא שומר נתונים
  • מבנה ורכיבים נשמרים בנפרד
  • גיבוי מסד נבדק בשחזור
העקרונות המרכזיים במבט אחד

מתי באמת צריך רק טבלה אחת?

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

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

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

מייצאים עם BCP — ובודקים מה נוצר

BCP, קיצור של Bulk Copy Program, הוא כלי שורת פקודה להעברת נתונים אל SQL Server וממנו. כדי לייצא או לייבא נתונים בכמות גדולה, צריך גם הרשאות מתאימות — לא רק את הפקודה הנכונה.

נציג את תהליך המקור, עם סימון התיקונים הנדרשים. הפקודות כאן מסבירות את הדוגמה; הן אינן הוראה לשנות שרת ייצור. במיוחד, אין צורך להפעיל xp_cmdshell כדי להריץ bcp מחוץ למנוע SQL.

השלב הראשון במקור: הפעלת xp_cmdshell

המקור מציע להפעיל את הרכיב xp_cmdshell, שעשוי להיות כבוי כברירת מחדל, באמצעות הפקודות הבאות בעורך שאילתות SQL:

EXEC sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
EXEC sp_configure 'xp_cmdshell', 1;
GO
RECONFIGURE;
GO

השלב השני במקור: בניית פקודת הייצוא

אחרי בחירת הטבלה, המקור בונה את שם קובץ הייצוא ומריץ את הפקודה מתוך SQL Server:

DECLARE @table VARCHAR(128), @file VARCHAR(255), @cmd VARCHAR(512);
SET @table = 'dbo.spt_monitor';
SET @file = 'C:\Backup\' + @table + '_' + CONVERT(CHAR(8), GETDATE(), 112) + '.dat';
SET @cmd = 'bcp ' + @table + ' out ' + @file + ' -n -T';
EXEC master..xp_cmdshell @cmd;

יש להחליף את שם הטבלה שבמשתנה @table בשם הטבלה הרצויה, ואת התיקייה C:\Backup\ בתיקיית היעד. בדוגמה נוסף לשם הקובץ תאריך בפורמט שנה, חודש ויום.

דוגמת ייצוא מתוקנת משורת הפקודה, בלי הפעלת xp_cmdshell:

bcp ExampleDB.dbo.ExampleTable out "C:/Backup/example-table.dat" -S SERVERNAME -T -n

החליפו את ExampleDB, את שם הטבלה, את SERVERNAME ואת הנתיב בערכים המתאימים. ‎-T משתמש באימות Windows; ‎-n בוחר בפורמט הנתונים המקורי. חשבון ההרצה צריך הרשאות מתאימות, ונתיב הקובץ מתייחס למחשב שבו bcp מופעל.

השלב השלישי: בדיקת תוצאות ההרצה

בדוגמה הועתקה הטבלה הקטנה dbo.spt_monitor ממסד master. בטבלה גדולה יותר יופיעו יותר נתונים בתוצאות. בדקו שאין שגיאות ושמספר השורות תואם לציפיות. זה שנוצר קובץ בתיקייה לא אומר שכל מה שצריך כבר נמצא בו.

השלב הרביעי במקור: ייבוא הנתונים בחזרה

המקור מציג את הפקודה הבאה לייבוא העותק:

bcp dbo.spt_monitor IN "C:\Backup\dbo.spt_monitor_20180801.bak" -T -n

עותק שימושי, עם גבולות ברורים

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

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

מקור להערות התיקון: תיעוד Microsoft לכלי bcp והגדרת xp_cmdshell.

נוסח עברי מלא המבוסס על גוף המאמר בקובץ ה־PDF שסופק, בעריכת שפה לקריאה נוחה. הערות דיוק ותיקונים למקור מסומנים בנפרד. דוגמאות הסבר נוספו לפי הצורך; תפריטי אתר, מודעות וקישורי המלצות אינם חלק מגוף המאמר.

מקור: SQL Server Table Backup Guide.pdf מאת MSP360. למאמר המקורי.

ממשיכים לקרוא

ניהול ותפעול

מהו אחסון בלוקים, ואיך הוא קשור לגיבוי?

אנחנו רואים תיקיות וקבצים. מערכת האחסון יכולה לראות משהו אחר לגמרי: בלוקים של נתונים. אחסון בלוקים שימושי בין היתר במכונות וירטואליות, באחסון שמחובר לרשת וב־SAN. כדי להבין מתי הוא מתאים, צריך לרדת שכבה אחת מתחת לתיקייה — בלי…

לקריאת המאמר ←
ניהול ותפעול

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

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

לקריאת המאמר ←
ניהול ותפעול

תהליך קליטת לקוח חדש לשירותי IT מנוהלים

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

לקריאת המאמר ←