כלי שורת פקודה (Command Line Tools)

בנוסף לכלים החלונאים שראינו עד כה קיים ב-SQL Server  גם כלי שורת פקודה. רוב כלי השורת פקודה הם כלים שקיימים כבר מגרסאות קודמות של SQL Server אך הם עדיין מאוד שימושים בנסיבות מסוימות כלים אלו כוללים:

  • שירותי osql ו - isql
  • שירותי makepipe ו- readpipe
  • תוכנית Bulk Copy (bcp)

 

שירותי osql ן- isql

שני שירותים אלו תוכננו על מנת לאפשר למשתמש להוסיף שאילתות SQL ישירות מתוך חלון פקודה (Windows Command Prompt). Isql הוא כלי הנמצא בשימוש עוד מגרסאות קודמות של SQL Server בעוד ש – osql הוא כלי חדש. Isql משתמש בספרית מסד נתונים API על מנת לתקשר עם השרת בעוד ש osql  משתמש בספריה החדישה יותר ODBC  . משמעות ההבדל היא בכך ש osql - יכול לאחזר מידע ש isql אינו מסוגל.

לדוגמא: isql אינו מסוגל לתת לספק מידע עבור עמודות מסוג ntext בעוד ש osql יכול. כיוון ששני השירותים כמעט זהים לא נכסה כאן את isql. האיור הבא מראה תסריט (scenario) osql קצר בפעולה. פקודת ה osql - Use מתחילה את התסריט ע"י פתיחת כניסה (login) לשרת. כמו שאתה רואה ביכולתך להשתמש בכל תחביר של פקודות Transact בתוך תסריט ה- osql.


איור 6.8

בנוסף osql  תומך במספר רב של ארגומנטים בשורת הפקודה. דבר זה  מסייע לבנות קבצי אצווה (batch files).  הארגומנטים העיקריים מוצגים בטבלה 6.2 .

 

הארגומנט תיאור
-u כניסת משתמש
-e הדפסה למסך
-d הנחייה להשתמש במסד נתונים המבוקש בערך ברירת מחדל
-q הרצה של שאילתא
-p הקשת סיסמה
-i קובץ קלט
-o קובץ פלט
טבלה 6.2

דוגמא לשימוש בארגומנטים אלו:

osql -u login_id [-p] [-e] [-d db_name] [-q query]

משמעות שורה זו היא: כניסה של משתמש בהתאם ל – login_id למסד הנתונים בהתאם ל- db_name והרצת השאילתא query.

 

בנוסף להרצת פקודות Transact שרות ה-osql  מכיל שש פקודות ייחודיות:

  1. Go -  הרצת כל ההצהרות מאז ה-GO האחרון.
  2. Reset  - מחיקת גל ההצהרות מבלי לבצע אותן.
  3. Ed- קריאה לעורך ה-DOS (בדומה להקשת edit מתוך חלון DOS).
  4. !!command - הרצה פקודת מערכת ההפעלה המבוקשת: command.
  5. Exit   - יציאה מתסריט ה -  osql.
  6. Ctrl + C - סיום שאילתא וחזרה להקשת שאילתא נוספת.


שירותי Makepipe ן- Readpipe

שני רכיבים אלו הם שירותים די פשוטים שמטרתם היא אחת: לעזור למשתמש לאבחן בעיות התקשרות של Named Pipes. כיוון שספרית ה - Named Pipes היא ברירת המחדל של רצוי שתדע לפחות על קיומם של שירותים אלו. שיטת העבודה היא: שמריצים Makepipe על השרת ומריצים Readpipe  אצל הלקוח על מנת לבדוק שהם "מדברים" אחד עם השני בצורה נכונה.

התחביר של Makepipe הוא:

makepipe [/h] [/w] [/p pipe_name]

 

הארגומנטים העיקרים לפקודהMakepipe מוצגים בטבלה 6.3 .

הארגומנט תיאור
/h הצגת הודעת עזרה
/w מציין שהייה (delay) בין הכתיבות והקריאות (כברירת מחדל השהייה היא 0 שניות)
/p – מציין את שם ה-Pipe
/t בקשה של Transact SQL Pipe
טבלה 6.3

 

לשירות ה – Readpipe יש יותר פרמטרים והתחביר שלו הוא:

readpipe /Sserver_name /Dstring [/n] [/q] [/w] [/t] [/p pipe_name] [/h]

 

 הארגומנטים העיקרים לפקודהReadpipe  מוצגים בטבלה 6.4 .

 

הארגומנט תיאור
/S מציין את שם השרת לשאילתא
/D  מציין את הנתונים לקריאה\כתיבה
/n מציין את מספר האיטרציות לבדיקה
/q מבצע שאילתא בשרת עבור מידע נכנס
/w מציין את זמן ההשהיה בין האיטרציות
/t מציין Pipe מסוג Transact
/h הצגת הודעת עזרה
טבלה 6.4

 

הפעלת SQL Server מתוך שורת הפקודה

ל- SQL Server קיים גם ממשק להפעלתו מתוך שורת פקודה.ישנן מספר סיבות מדוע תצטרך להפעיל את SQL Server באופן זה. ראשית, ייתכן ותצטרך להעלות את השרת עם אופציות ספציפיות עבור איתור תקלות (troubleshooting). שנית, ייתכן ותרצה שהשרת יעלה אוטומטית במערכת הפעלה כדוגמת חלונות 95 שאינה מכילה מנהל שירותים שיכול לעשות זאת. במקרה זה תוכל להעלות אוטומטית את השרת ע"י יצירת קובץ אצווה (batch file) מתאים והוספתו לקבוצת האתחול של מערבת ההפעלה.

תחביר שורת הפקודה לשיגור SQL Server  הוא:

Sqlservr [-c] [-dmaster_path] [-f] [-eerror_log_path] [-m] [-n] [-sregistry_key]

 

הארגומנטים העיקרים לפקודה Sqlservr  מוצגים בטבלה 6.5 .

 

הארגומנט תיאור
-c מציין העלאת SQL Server כתוכנית ולא כשירות
-f מציין העלאת SQL Server באופן מינימלי 
-m מציין העלאת SQL Server עבור לקוח יחיד
-n מציין אי שמירת האירועים בשרת לתוך קובץ log
טבלה 6.5

 

   

  חזרה לתחילת הפרק


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