כלי שורת פקודה (Command
Line Tools)
בנוסף לכלים
החלונאים שראינו עד כה קיים ב-SQL Server גם כלי שורת פקודה. רוב כלי השורת
פקודה הם כלים שקיימים כבר מגרסאות
קודמות של SQL Server אך הם עדיין מאוד
שימושים בנסיבות מסוימות כלים אלו
כוללים:
שירותי 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 מכיל שש
פקודות ייחודיות:
-
Go - הרצת כל
ההצהרות מאז ה-GO האחרון.
-
Reset - מחיקת גל ההצהרות מבלי לבצע
אותן.
-
Ed- קריאה לעורך ה-DOS
(בדומה להקשת edit מתוך חלון DOS).
-
!!command - הרצה
פקודת מערכת ההפעלה המבוקשת: command.
-
Exit - יציאה
מתסריט ה - osql.
-
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
|