תוכנית העתקת נפח (BCP) היא
למעשה שרות שורת פקודה (Command Line)
המאפשר למשתמש להעתיק נתוני שרת SQL
לקובץ נתונים או בכוון ההפוך, בפורמט
המבוקש ע"י המשתמש. שימוש בשרות זה
נעשה לרוב כאשר ברצונך להעביר כמות
גדולה של נתונים, מכיוון שזה מאפשר
לבצע העלאת טבלאות מבלי להיכנס (Log)
לתוכנת השרת . העתקת נפח מעתיקה
נתונים לקובץ ביניים על הדיסק ולאחר
מכן מייצאת או מייבאת אותם.
העתקת נפח פועלת בשיתוף
עם מעבד השאילתות על מנת לייעל את
השאילתות, תחזוקת האינדקסים, בדיקת
אילוצים, ופעולות העלאת נתונים
מקביליות, ולכן זוהי בחירה מצוינת
במקרים בהם ברשותך כמות גדולה של
נתונים להעביר לשרת או ממנו. בנוסף,
ביכולתך גם להתאים את הגדרות הפורמט
של הקובץ, לבחור עמודות ספציפיות,
לבחור נתונים בפורמט ASCII או בינארי,
ולבצע העברות בין פלטפורמות, כגון
בין Mainframe לבין שרת SQL.
כיוון שהעתקת נפח מעתיקה
נתונים לקובץ של מערכת ההפעלה שניתן
בקלות לייצאו לתוך אפליקציה אחרת,
ביכולתך גם להשתמש בשרות זה כשלב
ביניים לכל אפליקציה אחרת שמסוגלת
לקרוא קבצי טקסט, כגון Microsoft Word.
לפני השימוש בהעתקת נפח,
הטבלה שאליה מעלים את הנתונים חייבת
להיות קיימת, למרות שמספר השדות
בקובץ הנתונים לא חייב להתאים במדויק
למספר העמודות בטבלה. קובץ הנתונים
חייב להיות בפורמט טקסט או בפורמט
שנוצר ע"י העתקת הנפח עצמה, כגון
פורמט טבעי. העמודות בטבלה חייבות
להתאים לטיפוסי הנתונים של השדות
המועתקים מקובץ הנתונים .
על מנת לבצע העתקת נפח
מבלי להיכנס לשרת עלייך לעמוד בתנאים
הבאים, אחרת תוכנית העתקת הנפח תעלה
את תוכנת השרת :
לאחר הרצת העתקת נפח
מבלי להיכנס לשרת, עליך לגבות את מסד
הנתונים לפני שביכולתך לגבות את ה-Log.
מצב זה הכרחי מכיוון שנתונים שהוכנסו
מבלי להיכנס לשרת לא יוצגו אם נדרשת
העלאה מחדש של מסד הנתונים וקובץ ה- Log
של הטרנזקציות נדרש.
קיימים מספר רב של
פרמטרים אופציונליים בהם ניתן
להשתמש בהעתקת נפח. להלן מוצג התחביר.
טבלה 8.2 שאחריו מתארת את
הפרמטרים השונים.
Bcp
[[database_name.]owner.]
table_name {in | out |
format}
data_file
[-m max_errors] [-f format_file] [-e
err_file]
[-F first_row] [-L
last_row] [-b batch_size]
[-n] [-c] [-6] [-C code_page]
|
הפרמטר |
תיאור |
database_name |
שם מסד
הנתונים |
owner |
שם הבעלים |
table_name |
שם הטבלה
להעתקה |
In | out | format
|
כוון ההעתקה :מקובץ, לקובץ ופורמט הקובץ בהתאם למתגיםn, -c,
–, 6- |
data_file |
המסלול המלא של קובץ
מערכת ההפעלה |
-m max_errors |
המספר המקסימלי של שגיאות שמותר לתהליך ההעתקה |
-f format_file |
יצירת קובץ פורמט |
-e err_file |
יצירת קובץ
שגיאות |
-F
first_row |
מציין את השורה הראשונה להעתקה |
-L last_row
|
מציין את השורה האחרונה להעתקה |
-b batch_size |
מאתחל את הגודל של קובץ האצווה |
-n |
מציין פורמט טבעי (native) |
-c |
מציין פורמט תווים (character),
\n יציין סוף שורה ו-nchar יהיה טיפוס
האחסון |
-6 |
שימוש בטיפוסי התווים של גרסאות קודמות שלSQL Server (6/
6.5) |
-C
code_page |
מציין את עמוד הקוד של
הנתונים בקובץ הנתונים |
טבלה
8.2