‏הצגת רשומות עם תוויות Management Studio. הצג את כל הרשומות
‏הצגת רשומות עם תוויות Management Studio. הצג את כל הרשומות

יום שלישי, 15 במרץ 2011

Generate Script ב- SQL Server 2008 R2

שאלה:
בגרסת ה- manganese studio 2005 באופציית ה- generate script היתה לנו את היכולת להחליט את המאפיינים של יצירת הסקריפט (לדוגמא: האם להוסיף בדיקת הימצאות האובייקט לפני היצירה?, האם לייצר סקירפט לייצר אינדקסים וכו'...) . ובגרסת management studio 2008 בחירת מאפיינים אלו נעלמה...



כיצד אפשר בגרסת 2008 לבחור את מאפייני ה- Generate script?


תשובה:
אכן בגרסת 2008 כאשר בוחרים את אופציית ה- Generate Script ה- wizard כולל בתוכו רק את בחירת האובייקטים הנדרשים ללא יכולת בחירת המאפיינים.

בגרסת manganese studio 2008 R2 אנו מגדירים את מאפייני ה- Generate Script בחלון ה- option .

בהצלחה!!


http://blogs.microsoft.co.il/blogs/itaib/archive/2011/03/15/generate-script-sql-server-2008-r2.aspx

יום ראשון, 4 באפריל 2010

הגנות ב- Management studio 2008

בטיפים האחרונים פירטתי והדגמתי לכם על היכולות החדשות של כלי הניהול של ה- Sql server 2008: SQL Server Management Studio.

אחת מהיכולות החדשות של כלי הניהול ב - sql server 2008 הינו היכולת להגן עלינו מנהלי ומפתחי בסיסי הנתונים מביצוע פעולה אשר איננו באמת מתכוונים אליה.

לדוגמא:
בכלי הניהול של ה- 2005 ומטה במידה והיינו משנים את הסכמה של הטבלה,
לדוגמא: שינוי Data type של עמודה היה על ידי כלי הניהול היה גורר אחריו מאחורי הקלעים
1. יצירת טבלה זמנית
2. הכנסת הנתונים מהטבלה המקורית לטבלה הזמנית
3. הכנסת הנתונים מהטבלה הזמנית לטבלה החדשה עם השינוי המבוקש ב- Data type
(פעולה אשר היינו מקבלים עליה ברוב המקרים Time outולא היינו יודעים למה...) וכל זאת במקום להריץ את הפקודה ..Alter table

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



על מנת לבטל הגנה זו יש להגדיר זאת בכלי הניהול תחת ה- option -> designers :

לאחר שינוי זה, במידה ובעתיד נרצה לבצע שינוי בסכמה כלי הניהול יקפיץ לנו הודעת אזהרה אך לאחר מכן יבצע את השינוי בכל זאת:



חג שמח!

יום חמישי, 4 במרץ 2010

SQL Debugger for SQL Server 2008

בטיפים האחרונים פירטתי והדגמתי לכם על היכולות החדשות של כלי הניהול של ה- Sql server 2008: SQL Server Management Studio.

אחת מהיכולות החדשות של כלי הניהול ב - sql server 2008 הינו היכולת לבצע Debug לקוד בסיס הנתונים- יכולת אשר מאוד חשובה למתכנתי ה- SQL בארגון, בפיתוח עצמו, בפתרון תקלות ועוד'....

על מנת לממש את היכולת, עלינו ראשית להוסיף את סרגל הכלים של ה- Debug :


ולאחר-מכן נקבל את הסרגל הבא:


דרך הפעולה:

במידה ונרצה להריץ את הקוד הפשוט הבא:
declare @int int
set @int = 56
if @int > 1
begin
SELECT 'A'
end
else
begin
SELECT 'B'
end

נוכל לבצע לו debug כך:
1. ראשית עלינו ללחוץ על כפתור על ה- debug:

2. לאחר הלחיצה נעבור למסך ה- debug.
במסך זה נוכל לבצע פעולות debug כגון: step into ו- step over , breakpoint ועוד'... ולהתקדם בשרשרת הלוגיקה של הקוד .


בתחתית המסך בקטגוריית locals נוכל לראות את המשתנים שלנו ואת הערכים שהם מקבלים במהלך הלוגיקה השונה.

במידה ובמהלך הלוגיקה אנו משתמשים בפונקציה או פרוצדורה או טריגר ועוד'... נוכל בעזרת כלי ה- debug "להיכנס" גם אליהם.

לדוגמא, במידה ואנו נריץ את הקוד הבא, אשר כחלק מהלוגיקה אנו "קוראים" לפרוצודרה בשם "p_test_debug" , במידה ובמהלך ה – Flow אנו נקרא לפרוצודרה – אנו "ניכנס" גם לתוך הפרוצדורה .
לדוגמא:




לנוחיותכם, להלן רשימת הקיצורים להרצת ה- debug:
Action Standard
Start or continue debugging ALT+F5
Stop debugging SHIFT+F5
Step into F11
Step over F10
Step out SHIFT+F11
Implement the Run To Cursor command CTRL+F10
Display the QuickWatch dialog box CTRL+ALT+Q
Toggle breakpoint F9
Delete all breakpoints CTRL+SHIFT+F9
Display the Breakpoints window CTRL+ALT+B
Break all CTRL+ALT+BREAK
Display the Watch 1 window CTRL+ALT+W, 1
Display the Watch 2 window CTRL+ALT+W, 2
Display the Watch 3 window CTRL+ALT+W, 3
Display the Watch 4 window CTRL+ALT+W, 4
Display the Autos window CTRL+ALT+V, A
Display the Locals window CTRL+ALT+V, L
Display the Immediate window CTRL+ALT+I
Display the Call Stack window CTRL+ALT+C
Display the Threads window CTRL+ALT+H

בהצלחה!

יום רביעי, 3 במרץ 2010

ניתוח Error Log

שלום רב,


כידוע ה-SQL Server Management Studio מכיל בתוכו מספר רב של דוחות ניהול וניטור.
הדוחות הינם ברמת השרת, בסיס הנתונים ועוד , וניתן להציג בעזרתם דוחות לדוגמא:



1. פילוח CPU ו- IO ברמת בסיסי הנתונים השונים
2. שינויים אחרונים בסכמת בסיסי הנתונים
3. פילוח צריכת משאבים פר אובייקט ברמת בסיס הנתונים
4. סטטוס log shipping ועוד'...


אחת הבעיות שאני נתקל בהם בשרתי Sql server עמוסים , הינו היכולת לחקור את ה- error log,
הסיבה הינה שמדובר בדרך כלל בקבצים וב- Log ארוכים מאוד ועל-כן, בעייתי לקרוא אותם, לזהות את הבעיות ולנתח את ה- Log בצורה אופטימלית.

דוח שימושי מאוד (שלא תמיד שמים לב אליו) אשר פותר את הבעיה הנ"ל הינו "Number ot Errors" .

ניתן לפתוח אותו כך:



הדוח מציג פילוח error על פני הימים האחרונים בגרף, כולל יכולת חקירת והצגת ה- error הספצייפים.

כמו-כן, הדוח מבצע הפרדה בין Severe Errors ו- Moderate Errors

בהצלחה!

יום שישי, 12 בפברואר 2010

SQL Server 2008 - Object Explorer Details

שלום רב,

אחת היכולות החדשות של כלי ה- SQL Server Management Studio בפלטפרומת sql server 2008 הינה השדרוג המשמעותי של מסך ה- Object Explorer Details.

מסך זה מלבד יכולותו בהצגת פרטי ושמות האובייקטים המבוקשים, מציג בתוכו מידע רב נוסף.
לדוגמא:
ברמת בסיסי הנתונים - במידה ואנו רוצים דוח המציג את שמות בסיסי הנתונים וגודלם (כולל גודל אינקדסים וכו'..) או לחילופין אנו רוצים לתעד ולמפות את שמות בסיסי הנתונים והמאפיינים שלהם (recovery model, owner ועוד'..) בעבר היינו משתמשים בסקריפטים - שליפת מידע מטבלאות ושאילתות מערכת - כהיום בעזרת Object Explorer Details של Sql server 2008 אנו יכולים לממש דוחות אלו בקלות ובמהירות.

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

קליק ימני על סרגל הכלים יחשוף בפננו את המידע הרב שניתן להוסיף לתצוגת ה- Object Explorer Details .


דוגמאות לדוחות נוספים:

  • ברמת הטבלאות - לדוגמא ניתן להפיק דוח הכולל שמות הטבלאות וכמות הרשומות בכל טבלה כולל מיון.

  • ברמת קטעי הקוד - פירוט שמות האובייקטים ותאריך שינוי אחרון שבוצע להם

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

בהצלחה!

יום רביעי, 2 בדצמבר 2009

העלאת גרסת בסיס נתונים

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


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

לאחר מכן, את סכמת הטבלאות , וקטעי הקוד בבסיס הנתונים תוכל להעלות על ידי
סקירפט - (קליק ימני על בסיס הנתונים המבוקש).
כמו-כן, בגרסת SQL Server Management Studio של ה- 2008 אתה יכול לכלול בסקריפט
גם data (ולא רק סכמה).

כמובן, שבמידה ואתה רוצה לדרוס את הסביבה הקיימת בסביבה החדשה תמיד תוכל לעשות
גיבוי ושחזור.

בהצלחה.

יום שני, 12 באוקטובר 2009

בעיית הרשאות ב SSIS

שאלה:

אני מריץ package ב SSIS והוא עבוד מצוין .
ושאני מפעיל אותו דרך הJOB יש לי הודעת שגיאה
Executed as user: DWH-LOADER\SYSTEM.
... 9.00.3042.00 for 64-bit Copyright (C) Microsoft Corp 1984-2005. All rights reserved. Started: 11:23:39 AM Error: 2009-10-08 11:23:39.54 Code: 0xC0202009 Source: MainMap Connection manager "ICQ" Description: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80040E4D. An OLE DB record is available. Source: "Microsoft SQL Native Client" Hresult: 0x80040E4D Description: "Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'.". End Error Error: 2009-10-08 11:23:39.54 Code: 0xC020801C Source: MainMap Log provider "SSIS log provider for SQL Server" Description: SSIS Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER. The AcquireConnection method call to the connection manager "ICQ" failed with error code 0xC0202009. There may be error messages posted before this with more information on why the AcquireConnection method call failed. COM error object... The package execution fa... The step failed.
שאני מסתכל בdatasource ב JOBS
אלו שני ה connection string שאיתם אני מתחברData Source=DWH-DB;Initial Catalog=ICQ;Provider=SQLOLEDB.1;Integrated Security=SSPI;Auto Translate=True;Data Source=DWH-DB;Initial Catalog=ICQ;Provider=SQLNCLI.1;Integrated Security=SSPI;Persist Security Info=True;
למה יש לי הודעת שגיאה ?

תשובה:
1. במידה ואתה מגדיר ב- datasource שם משתמש (login) וסיסמה ה- job מצליח?
כלומר בנפילת SSIS ע"י ה- JOB חשוב לוודא מה מקור הבעיה, בהחלט יכול להיות שמקור הבעיה הינה Integrated Security.
2. תוודא של- owner של ה- job יש הרשאות.

בהצלחה.

יום שלישי, 15 בספטמבר 2009

עבודה נכונה עם לוגים

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

הפתרון:
קבצי הלוג נשמרים באופן אוטומטי בנתיב :
“Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\LOG\ERRORLOG”
קובץ חדש נוצר כל פעם שהשרת מבצע RESTRART באופן יזום או לא.
כמו כן database administratorsיכולים להפעיל את הפקודה DBCC ERRORLOG או sp_cycle_errorlog ע"מ ליצור קובץ לוג חדש .
שם הקובץ האחרון שנוצר יהיה ERRORLOG.1 הקובץ הקודם ERRORLOG.2 כאשר הקובץ החדש ביותר ERRORLOG .

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


השלבים להעלאת מספר קבצי הלוג בשרתי 2008\2005 SQL :

1. נפתח את ה Management Studio.
2. נרחיב את הכרטיסיה "Management" \"SQL Server Logs"
3. בכפתור ימני של העכבר נבחר את האופציה Configure.
4. זה יפתח את החלון Configure SQL Server Error Logs"" , אנו נבחר בין 6-99 קבצים בחלון מסומן כעת 10 קבצי ארכיב.
5. לאחר שבחרנו את מספר הקבצים הרצוי ( 10-15 ) יש ללחוץ על OK.



שרת ה SQL אינו מבצע RESTART באופן קבוע לכן קיים הצורך ליצור קובץ חדש מידי יום ע"מ לשמור על קובץ ארכיב קטן הקל לפתיחה.


בהצלחה!
שנה טובה!

יום רביעי, 1 ביולי 2009

Scripting schema AND data

כידוע ישנם חידושים ושיפורים רבים בפלטפורמת ה- sql server 2008, בין החידושים השימושיים ביותר בכלי ה- Management Studio הינו: Scripting schema AND data.

כידוע ניתן ליצור סקריפט של בסיס הנתונים והאובייקטים ע"י אופציית : Generate SQL Server Scripts Wizard. החיסרון באופציה זו בגרסאות קודמות הייתה שהכלי לא היה מייצא את ה- DATA של הטבלאות אלה רק את הסכמה, ועל-מנת ליצור את הסקריפט ל -DATA היינו צריכים להיעזר בפתרונות אחרים.

ב- management studio 2008 ה- Generate SQL Server Scripts Wizard שודרג וניתן לבצע גם סקריפט ל- DATA.

לדוגמא:
1. קליק ימני על בסיס הנתונים אותו אנו רוצים לייצר לו סקריפט. Tasks -> Generate Script
2. במסך ה- wizard יש לבחור את בסיס הנתונים הרצוי, ובמסך ה- script option יש לבחור true באפשרות script data
3. ממשיכים עם ה- wizard ובסופו של דבר ה- wizard ייצר לנו גם סקריפט על האובייקט וגם סקריפט של ה- data :

בגלל שיכולת החדשה הינה של ה- management studio 2008 , ניתן להתחבר עם ה- management studio 2008 לבסים נתונים המבוסס על sql server 2005 ולהפעיל את היכולת.

בהצלחה !

יום ראשון, 29 במרץ 2009

מחיקת מספר אובייקטים במשפט אחד

כידוע ישנם מספר חידושים ושיפורים בפלטפורמת sql server 2005 ו- 2008 . החידושים הינם ברמת ה- agent , t-sql , management studio ועוד.. , בטיפים הקרובים veracity תסקור מספר חידושים שימושיים ומעניינים.

והפעם – מחיקת מספר אובייקטים במשפט אחד
בעזרת היכולת ניתן לייעל את פקודת ה- drop לאובייקטים.

לדוגמא, לאחר שיצרנו את האובייקטים הבאים :

USE AdventureWorks
GO
CREATE PROCEDURE SP1 AS
BEGIN
SELECT TOP 10 * FROM Person.Address
END
GO

CREATE PROCEDURE SP2 AS
BEGIN
SELECT TOP 10 * FROM Person.Address
END
GO

CREATE PROCEDURE SP3 AS
BEGIN
SELECT TOP 10 * FROM Person.Address
END
GO

CREATE PROCEDURE SP4 AS
BEGIN
SELECT TOP 10 * FROM Person.Address
END
GO

על מנת למחוק אותם, ניתן להריץ מספר פעמים את פקודת ה- drop:

USE AdventureWorks
GO
DROP PROCEDURE SP1
DROP PROCEDURE SP2
GO

אך ניתן לייעל את הקוד ולכתוב מעכשיו כך:

USE AdventureWorks
GO
DROP PROCEDURE SP3,SP4
GO

שימו לב שמהיום ניתן לשפר את העבודה ולמחוק אובייקטים בצורה מהירה ויעילה יותר!

בהצלחה !!

יום שני, 23 בפברואר 2009

Download SQL Server 2008 Management Studio Express

Microsoft SQL Server 2008 Management Studio Express (SSMSE) is an integrated environment for accessing, configuring, managing, administering, and developing all components of SQL Server. SQL Server 2008 Management Studio Express combines a broad group of graphical tools with a number of rich script editors to provide access to SQL Server to developers and administrators of all skill levels. Developers get a familiar experience, and database administrators get a single comprehensive utility that combines easy-to-use graphical tools with rich scripting capabilities.

For more information about SQL Server 2008 Management Studio Express, including other versions and downloadable components now available, see Microsoft SQL Server Express.

For information about the different editions of SQL Server 2008, see the Editions page.

http://www.microsoft.com/downloads/details.aspx?FamilyID=08e52ac2-1d62-45f6-9a4a-4b76a8564a2b&DisplayLang=en

יום ראשון, 22 בפברואר 2009

ניהול ROLLBACK

בעיה:
"ביצעתיkill לטרנזקציה, ואני רואה ב- activity monitor שמתבצע כרגע RollBack
כיצד ניתן לדעת עוד כמה זמן נשאר ל- RollBack ?"
"מה סטטוס ה- RollBack? "

פתרון:
כאשר מנהל בסיס הנתונים מחליט לעצור טרנזקציה על-ידי פקודת kill, הטרנזקציה תעבור RollBack .

על מנת לנהל את ה- RollBack ולדעת כמה כבר בוצע ? וכמה זמן עוד נשאר ? יש להריץ שוב את הפקודה KILL על אותה טרנזקציה.
פקודת KILL על טרנזקציה שכבר מבוצע עליה RollBack תראה את הנתונים הנ"ל.

לדוגמא:

ביצוע פקודת kill לטרנזקציה מספר 52 .
הרצת פקודת sp_who2 על מנת לראות את סטאטוס הטרנזקציות.
ניתן לראות כי טרנזקציה 52 כעת בסטאטוס "rollback"

על-מנת לנטר את ה- rollback ולראות את הסטאטוס שלו -
לעשות שוב פעם KILL זה קצת מסוכן כי יכול להיות שה ROLLBACK נגמר ועכשיו תהרגו SESSION אחר
ע"י שימוש ב with statusonly נקבל את אותה התוצאה ביותר זהירות

kill XXXXX with statusonly


בהצלחה !!

יום ראשון, 4 בינואר 2009

Management Studio 2008 suggests missing indexes

כידוע אחד מהיכולות החדשות שהיו ב- SQL 2005 הינה ה- dynamic management objects .
אחת מהן הייתה sys.dm_db_missing_index_details אשר מציגה המלצות בנוגע לאינדקסים חסרים אשר יש ליצור בבסיס הנתונים ע"פ הסטטיסטיקות שנאספו עד כה.

ב- SQL 2008 לקחו צעד אחד קדימה את נתוני מנגנון ה- missing indexes וכעת ניתן לראות את המידע כחלק אינטגראלי מה- Actual Execution Plan ב- SSMS 2008 .

לדוגמא:




כאשר מריצים את השאילתא הבאה עם אופציית Actual Execution Plan.
ניתן לראות את נתוני ה- missing indexes בקצה העליון.




About the Missing Indexes Feature:
http://msdn.microsoft.com/en-us/library/ms345524.aspx

בהצלחה!

יום שני, 8 בדצמבר 2008

Column Permissions

בעיה:
ידוע שניתן לגדיר ב- SQL server הרשאות למשתמשים ברמת השרת \ בסיס נתונים \ אובייקטים.
האם ניתן להגדיר הרשאות ברמת העמודה בטבלה?

פתרון:
ישנם מקרים בהם אנו מנהלי בסיסי הנתונים מעוניינים להגדיר הרשאות ברמת העמודה.

דרך ביצוע:
קליק ימני על הטבלה המיועדת ß properties
בקטגוריית ה- permissions מגדירים למשתמש הספציפי רמת הרשאות select .
לאחר-מכן, תחת ה- column permissions מגדירים את רמת ההרשאות ברמת העמודה.

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

יש לציין כי במקרה ואנו מגדירים הרשאות ברמת העמודה, המשתמש לא יוכל לבצע שליפה מהטבלה ע"י select * , אלה הוא יצטרך לציין במפורשות את שמות העמודות שהוא מעוניין לראות.

במקרה ובכל זאת יבצע שליפה עם select * המשתמש יקבל את ההודעה:

Msg 230, Level 14, State 1, Line 1
The SELECT permission was denied on the column 'CustID' of the object 'customers", database 'BankDB', schema 'dbo'.

כעת, אנו מנהלי בסיסי הנתונים נוכל לחזק ולהדק את האבטחה סביב הטבלאות, וניתן הרשאות מדויקות לכל משתמש !

בהצלחה !!

יום ראשון, 31 באוגוסט 2008

SQL 2008 - Activity monitor

כידוע חברת מייקרוסופט שיחררה בתקופה האחרונה גרסה רשמית ראשונה של פלטפורמת SQL SERVER 2008.
הגרסה החדשה מאופיינת במספר של שיפורים, כגון: דחיסת נתונים, שיפור ביצועים, שירותי ניתוח מתקדמים ושיפור ה- GUI ועוד.
במסגרת הבלוג אני אעדכן אתכם ביכולות החדשות של הפלטפורמה החדשה .
והפעם, Activity monitor .

היכולת החדשה מאפשרת לנו מנהלי בסיסי הנתונים לנהל טוב יותר את השרת, לזהות צווארי בקבוק, סטאטוס השרת, טרנזקציות פעילות, כמות CPU ו- i\o ועוד.

ישנם 2 אפשרויות לפתוח את ה- Activity monitor :
1. קליק ימני על השרת בכלי הניהול
2. דרך סרגל הכלי

מסך ה- Activity monitor מחולק ל- 5 קטגוריות :

1. Overview – בחלק זה ניתן לראות נתונים בזמן אמת של ה- CPU , IO ועוד בשרת בסיס הנתונים :
2. Processes – בחלק זה ניתן לראות את פירוט הטרנזקציות כרגע בבסיסי הנתונים (כמובן שניתן לבצע סינון, וסידור מחדש של העמודות) :
3. Resource waits – בחלק זה ניתן לראות את פירוט ההמתנות בשרת. (בעזרת מסך זה ניתן לזהות צווארי בקבוק בשרת).
4. Data file IO – בחלק זה לקבל פירוט אודות כמות ה- IO ברמת קבצי בסיסי הנתונים.
5. Recent expensive queries – בחלק זה ניתן לקבל מידע אודות TOP הטרנזקציות בבסיס הנתונים. כמובן שניתן לבצע סינון ומיון לפי זמני תגובה , IO ועוד.
בהצלחה !

יום חמישי, 21 באוגוסט 2008

SQL SERVER 2008

שלום רב,

ב – SQL server 2008 ישנם שיפורים רבים בנושאים שונים כגון: כלי הניהול, אבטחה, שיפור ביצועים, אחסון המידע, ניטור ו- audit .

להלן דוגמאות לחלק מהשיפורים חדשים :

1. Policy – מנגנון ליישום ה- policy של הארגון בשרתי בסיס הנתונים.
ניתן להגדיר policy ברמת שרת בסיס הנתונים, לדוגמא: שמות אובייקטים, רמות אבטחה וכו'.
אחרי שקובעים את ה- policy השונים ניתן לבצע מספר פעולות:
a. ניתן למנוע פעולות הסותרות את ה- policy
b. ניתן לקבל התראות במייל כאשר אחד האובייקטים לא עומד ב- policy שהגדרנו (בשרת שלנו, ובשאר השרתים בארגון)
c. JOB מתוזמן אשר בודק את ה- policy בבת אחת לכמה שרתים
d. הפצת ה- policy בקלות ובמהירות לשרתים שונים בארגון
e. בדיקות יזומות לשרתים שהם עומדים ב- policy – ניתן לבצע גם בדיקות מול גרסאות שונות של MSSQL.

2. Performance data collection – הינו מנגנון חדש אשר כולל בסיס נתונים אשר אוגר ומנהל את כל נושא הביצועים של השרת המקומי ושרתים אחרים.
המנגנון שומר מידע בנוגע לשאילתות שרצו מאז ומתמיד, מדדי CPU ו- IO, דיסקים, זמני תגובה ועוד...
המנגנון כולל סט של דוחות דינמיים ומעמיקים מאוד , אשר בעזרתם ניתן לתחקר את ההיסטוריה של השרת.
המנגנון גם כולל – כלי לניהול – הגדרת זמני ניטור, הגדרת שמירת מידע ישן וכו'...

3. New activity monitor – מנגנון המציג נתוני שרת ב- real time – ייצא הסבר ב- veracitip הבא.

4. Resource governor – מנגנון לניהול משאבים בבסיס הנתונים.
בעזרת המנגנון ניתן להגדיר לכל משתמש (רק ברמת משתמש בשונה מה- more) בבסיס הנתונים את כמות המשאבים שהוא יקבל.
המנגנון עובד ב- real time – כלומר: ניתן להגדיר ולשנות את הפרמטרים בזמן אמת לטרנזקציה.

5. גיבוי עם כיווץ – בשונה מ- hyperbac לא ניתן לבצע שחזור של אובייקט בודד.

6. Change tracking – מנגנון מובנה לניטור שינויים בטבלאות בסיסי הנתונים.
כל שינויי בסכמה וב- DATA נרשם לטבלת LOG אשר ניתן בסופו של דבר לקבל דוח המציג:
מי שינה, מתי, באיזו עמודה (לא ניתן לראות את הנתון שהשתנה).
המנגנון כולל כלי לניהול – ניקוי אוטומטי של טבלאות ה- LOG וכו'...

7. Change data tracking – מנגנון המאפשר שמירת מידע של גרסאות.
כלומר: כל שינוי ב- DATA בטבלאות, המנגנון שומר את הנתון הישן והחדש + מי שינה ומתי וכו'...

8. תמיכה ב- data type מסוג blob .

9. שיפורים בנושאי אבטחה:
a. שיפור בניהול המפתחות לבסיסי נתונים מוצפנים.
b. הצפנה ברמת בסיס הנתונים כולו – ניתן לבצע שחזור לבסיס נתונים או ביצוע attach רק עם מפתח.
c. הפרדת המפתחות מה- DATA (בשונה מ- 2005)

10. Enhanced auditing – מנגנון מובנה לניטור כל הפעילויות בבסיס הנתונים.
כל שליפה (מי שלף, מה, מתי , מאיפה) , עדכון, מחיקה נשמרת הפעולה בטבלת LOG.

11. Mirroring :
a. שיפור התעבורה ברשת ב- 250%
b. תיקון page דפוקים מהשרת המשני – אוטומטי – פתרון מעולה ל- corruption .

12. יכולת עבודה מול בסיסי נתונים גדולים:
דחיסת מידע ברמת ה- page ב- 60% ויותר.
Data type מקומפרסים (vardecimal)

13. Filtered indexes – יצירת אינדקס עם where !! יחזיק מידע מוגבל – משפר ביצועים, מקטין אינדקסים.

בהצלחה !

יום רביעי, 20 באוגוסט 2008

Sql 2008 intellisense

כידוע חברת מייקרוסופט שיחררה בתקופה האחרונה גרסה רשמית ראשונה של פלטפורמת SQL SERVER 2008.
הגרסה החדשה מאופיינת במספר של שיפורים, כגון: דחיסת נתונים, שיפור ביצועים, שירותי ניתוח מתקדמים ושיפור ה- GUI ועוד.
במסגרת הבלוג אני אעדכן אתכם ביכולות החדשות של הפלטפורמה החדשה .
והפעם, Sql 2008 intellisense .

היכולת החדשה מאפשרת השלמה אוטומטית של קוד ה- TSQL ב- management studio .


ראשית, יש לאפשר את היכולת ß קליק ימני על מסך השאילתא, וביצוע enable.

להלן מספר דוגמאות של היכולת החדשה:
השלמה של עמודות
השלמה עם aliases של טבלאות
השלמה של משתנים
השלמה של טבלאות

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

בהצלחה!

יום חמישי, 14 באוגוסט 2008

Multiple Server Queries with SSMS 2008

כידוע חברת מייקרוסופט שיחררה בתקופה האחרונה גרסה רשמית ראשונה של פלטפורמת SQL SERVER 2008.
הגרסה החדשה מאופיינת במספר של שיפורים, כגון: דחיסת נתונים, שיפור ביצועים, שירותי ניתוח מתקדמים ועוד.

במסגרת הבלוג אני אעדכן אתכם ביכולות החדשות של הפלטפורמה החדשה .
והפעם, Multiple Server Queries .

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

אופן הביצוע:
1. כידוע במסך ה- registered servers שב- management studio ניתן למקם את השרתים בקבוצות "groups" שונות.
קליק ימני על הקבוצה הרצויה --> new query

2. לאחר-מכן, יפתח בכלי הניהול מסך לכתיבת השאילתא המבוקשת. מסך ה- Multiple Server Queries מאופיין בשונה מהמסך הרגיל מאופיין בכך שברשימת בסיסי הנתונים אנו נראה רק את בסיסי הנתונים אשר נימצאים בכל השרתים שבקבוצה.
והסרגל התחתון אשר ישנה את צבעו לצבע ורוד.

3. נריץ את הפקודה הבאה:
SELECT updatedateFROM sysloginsWHERE name = 'sa'

4. בעת ההרצה, השאילתא תרוץ על כל השרתים שבקבוצה , וזאת התוצאה שנקבל כאשר בתחילת כל שורה נראה את שם השרת ממנה הגיעה התוצאה.

· שימו-לב שניתן להתאים אישית את ה- results שנקבל במקרה ונריץ Multiple Server Queries דרך מסך המאפיינים שבכלי הניהול.

בהצלחה !

יום שלישי, 10 ביוני 2008

טיפים וטריקים ב- Management Studio – SQLCMD

בעיה:
כמה פעמים רציתם להריץ פקודת CMD בעבודה מול ה- SQL , והפתרון היה לצאת מה- SQL לפתוח CMD ולהריץ את הפקודה ?

כיצד אפשר להריץ פקודות שכאלה ישירות מה- Management Studio?


פתרון:
אחת היכולות החדשות של כלי הניהול של פלטפורמת SQL SERVER 2005 - Management Studio הינה היכולת שלו להריץ פקודות CMD ישירות ממנו !

דרך הפעולה:
פתיחת חלון שאילתא
לוחצים על : SQLCMD MODE
כעת ניתן להריץ פקודות CMD ישירות מה- Management Studio !


בהצלחה !!

יום ראשון, 25 במאי 2008

טיפים וטריקים ב- Management Studio – Sharing Registrations

בעיה:
כמה פעמים רציתם לגבות את רשימת ה- "Registered Servers" שלכם?
כמה פעמים רציתם פשוט לשלוח את רשימה זו במייל למישהו אחר?
רוצים להפיץ את רשימת השרתים בין העובדים?


פתרון:
אחת היכולות החדשות של כלי הניהול של פלטפורמת SQL SERVER 2005 - Management Studio הינה היכולת שלו לגבות את ה- Registered Servers לקובץ .

דרך הפעולה:

1. פתיחת ה- Registered Servers על-ידי CTRL+ALT+G או דרך סרגל הכלים view .
2. קליק ימני על ה- database engine
3. Export (ויצירת קובץ)

ולאחר מכן , ניתן לבצע import במחשב אחר.


בהצלחה !!