‏הצגת רשומות עם תוויות SQL SERVER 2000. הצג את כל הרשומות
‏הצגת רשומות עם תוויות SQL SERVER 2000. הצג את כל הרשומות

יום שישי, 18 בפברואר 2011

SQL Search

שלום רב,

כידוע לכם ישנם מאות מוצרים משלימים ותומכים ל- sql server ולשאר פלטפורות ה- DB בכלל רובם כמובן עולים כסף...ולפעמים הרבה כסף..
לכן, הפעם ברצוני לסקור בפניכם כלי חינמי מצויין שאני אישית ולקוחותיי נעזרים בו רבות - SQL Search של חברת Red-Gate .

דרך אגב, לחברת redgate יש בין היתר עוד מוצר מצויין ולא יקר בשם : HyperBac.
לכלי הזה יתרונות רבים וסיקרתי אותו בעבר בבלוג:
http://itaibinyamin.blogspot.com/2009/08/hyperbac-db-hyperbac-online.html

ה-SQL Search הינו בעצם תוסף ל- SQL Server Management Studio אשר בעזרתו ניתן לחפש במהירות על-פי שם האובייקט (קטעי קוד, טבלאות , וכו'...) ולפי מילות מפתח שבתוך קטעי הקוד בבסיסי הנתונים השונים.
עוד יכולת מצויינת של הכלי הינו שכאשר לוחצים לחיצה כפולה על התוצאה המבוקשת - הכלי מביא אותנו ישירות לקטע הקוד המבוקש , ובכך בעצם אנו חוסכים זמן יקר בחיפוש ופתיחת הקובץ.




לינק להורדת הכלי: http://www.red-gate.com/products/sql-development/sql-search/

בהצלחה.

יום רביעי, 16 בפברואר 2011

SSDs – are they really a solution for database performance issues?

Most of the databases with which I am familiar – still reside on rotating plates (A.K.A disks). Disks, physical disks, hard drives or whatever else you might call them – have been out there for many years, and they are one of the few products that haven’t really developed in a technological sense. Moore’s Law never really applied to disks. Only CPU power. Too bad… because when it comes to the amount of calculation a CPU can execute in a single second – we are making a great leap every 18 months, but when it comes to the amount of IO/sec we can process even when using a high-quality storage device – the mechanics that work underneath are still stuck somewhere in the late 80s or early 90s.

Recently, there is another new buzz catching everyone’s attention. This one is around SSD drives. Solid State Drives. SSDs are really good when what you want to do is to read a lot of data. They are especially good (in comparison to physical rotating disks) when you want to read a lot of data in small chunks – what is also called “Random IO”. I’ve had an opportunity to work with databases that reside on SSD drives or what are also called Flash devices. I’ve worked with databases stored on Flash drives, Flash cache, Oracle Exadata, and many other solutions. They all have one property in common: when the disk operates faster, the CPU tends to work harder to process the huge stream of data.

Up until now, physical disks have been the main bottleneck to performance improvement in most of the systems with which I have worked. But when you substitute the IO sub-system with an alternative that is capable of executing so-and-so many IO operations per second, instead of the disk being the bottleneck, instead this role goes to the CPU. I’ve seen this in real life.

Here is an example: I was working on a system with 4 Quad CPUs and SAN storage that was capable of processing 10,000 IO/sec tops. • When my disk capacity was 100% utilized, my average CPU utilization was ~40% on average, and it peaked at 70%. • When I replaced the storage system with an SSD that was capable of processing 100,000 IO/sec (ie 10 times faster than my old storage), I noticed that my CPU consumption was still ~40% on average, but it peaked at 100%! • Another thing that I noticed was that even though the SSD capacity is 100,000 IO/sec, it never went beyond a speed of 20,000 IO/sec (meaning that it was only 20% utilized). Why was that? Because now I don’t have enough CPU power to process this fast data stream… Now we all know what happens when a machine reaches 100% CPU utilization… it crashes, times out, hangs… And if someone runs a report on this machine, if before it would have jammed only the storage device, now it jams the machine’s CPU…

Now tell me something – if you have to choose from between these two options, which one would you prefer?

• working with a jammed, over-utilized storage device?

• Working with a jammed, over-utilized CPU?

I would choose the second option. Because even when my hard drive on my laptop is working hard, most of the applications that reside in my memory and consume only CPU are still working fine. But when my CPU is 100% utilized – the laptop is completely stuck. No processing ability, not to process IO, nor to carry out CPU calculations.

People told me “SSD is going to solve our performance problems”. Well… – no. It sure will speed up some of the things that you are doing. But it is not going to solve the other problem from which you probably suffer – that of QoS and SLA. As long as there are computers, performance bottlenecks will remain. If you make one component work faster without changing anything else, the bottleneck will simply move to one of the other components.

The only way you can avoid the bottleneck and guarantee QoS in this case is by controlling the amount of resources each and every transaction takes… whether the resources are CPU or IO. It doesn’t matter if your problem is CPU or IO – MoreVRP will allow you to safeguard your QoS and SLA. Until today there doesn’t seem to be an overall solution to eliminate the bottleneck… but by using MoreVRP, you can make sure that it doesn’t affect your most critical transactions. No matter if you are working with SSDs or good old physical disks.

Something to think about the next time you consider buying a new storage device.

Cheers.

http://www.more-resource.com/blog/?p=74

יום שני, 27 בדצמבר 2010

MoreVRP Keeps your SQL Server DB in Shape without Cramping your Business Users



We all know that the secret to staying healthy and fit depends on regular, routine exercise and good maintenance habits. The same is true for our database. But how can we ensure that our routine database workouts not interfere with or delay our business?


Throughout the work week different end-users interact with the database to conduct their urgent business activities. They insert new data and run numerous varied complex transactions using a variety of applications that combine and integrate data from different sources. Sales teams enter new customer and pricing data; engineering teams change product attributes and configurations. Logistics clerks repeatedly update the database with RFID devices that transmit loads of status information from the warehouse. Consuming this varied and heavy diet while running back and forth and at the same time concentrating on difficult calculations would give anyone indigestion, especially our MS SQL Server database, with its very sensitive stomach, special dietary requirements and lean frame….



So each week we invite our SQL Server database to the fitness center for a long workout. The DBA carefully goes through the checklist, executing index and stats maintenance procedures, checking for index fragmentation or duplication that are likely to tire the database and slow it down.


Usually the DBA carries out the weekly maintenance routine on the weekend when fewer end-users need the database active. Nevertheless, we all recall the times that the database hasn’t finished its maintenance workout on-time, causing many anxious end-users to congregate around the coffee machines on Monday morning waiting for the tired database to let them get their new work week started.



What can you do to empower your database to better mobilize its resources in order to carry out all the urgent business tasks you need to do in parallel to its time-consuming yet vital maintenance routines? More IT offers you the unique wonder drug that will revitalize your database – MoreVRP! Only MoreVRP, sometimes referred to as “APM on Steroids”, can get inside the database to reallocate its resources and prevent the loads that cause database indigestion, letting it concurrently execute end-user transactions while more slowly doing its maintenance routines without interrupting your business.


There are many vendors that offer a wealth of health check monitors that will measure how tired your database is, as well as sophisticated exercise machines that let your DBAs assign more and more routine exercises and training to keep your database fit.


Only MoreVRP gives your SQL Server db the resource management “muscle” you need to keep your business going strong! For more details, check out our solution on

www.morevrp.com


יום ראשון, 24 באוקטובר 2010

SUSER_SNAME

שלום רב,

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

שאלה:
ברצוני להוסיף בפרוצדורה תנאים לביצוע ע"פ המשתמש אשר מריץ את הפרוצדורה – האם זה אפשרי?
האם ניתן לקבוע ערך DEFAULT לעמודה בטבלה שמשמעו "מי ביצע את הפעולה" ?

תשובה:
פלטפורמת SQL SERVER 2005 מכילה פונקציות מערכת רבות ומגוונות, אחת הפונקציות השימושיות הינה : SUSER_SNAME.

להלן מספר יכולות הפונקציה :
1. הפונקציה מחזירה את ה- log in שמריץ את הפונקציה , לדוגמא:




2. הפונקציה יכולה לתרגם את ה- login security identification number לשם המשתמש , לדוגמא:



ניתן לשלב את הפונקציה כתנאי בתוך פרוצדורה , וניתן לשלב את הפונקציה ב- DEFAULT constraint בתוך טבלה, לדוגמא:


בהצלחה !
http://blogs.microsoft.co.il/blogs/itaib/archive/2010/10/24/suser-sname.aspx

יום שלישי, 6 ביולי 2010

JOIN לא שווה - רק דומה....

שלום רב,

שאלה:
יש לי שתי טבלאות בבסיס הנתונים אשר אני רוצה לבצע להם JOIN אך לצערי אין לי שדה מקשר...
כלומר: השדה בטבלה הראשונה הינו "חלק" מהשדה בטבלה השנייה.
לדוגמא: בטבלה הראשונה יש לי עמודה השומרת שם פרטי+שם משפחה ואילו בטבלה השנייה יש לי עמודת שם פרטי בלבד.
כיצד ניתן לבצע join בין שתי הטבלאות?

תשובה:
נהוג לחשוב כי ביצוע Join בין שתי טבלאות הינן רק כאשר שתי העמודות בשתי הטבלאות זהות.
אז זהו שלא... :)
ניתן לשלב במשפט ה- join בעת החיבור בין העמודות - LIke.

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

טבלה ראשונה תייצג שמות פרטיים של העובדים:

CREATE TABLE [dbo].[t_names](
[name] [nvarchar](50) NULL
) ON [PRIMARY]
GO
INSERT [dbo].[t_names] ([name]) VALUES (N'itai')
INSERT [dbo].[t_names] ([name]) VALUES (N'ziki')
INSERT [dbo].[t_names] ([name]) VALUES (N'david')

הטבלה השנייה תייצג שמות מלאים של העובדים:

CREATE TABLE [dbo].[t_full_names](
[full_name] [nvarchar](50) NULL
) ON [PRIMARY]
GO
INSERT [dbo].[t_full_names] ([full_name]) VALUES (N'itai binyamin')
INSERT [dbo].[t_full_names] ([full_name]) VALUES (N'zipi')
INSERT [dbo].[t_full_names] ([full_name]) VALUES (N'haya')
INSERT [dbo].[t_full_names] ([full_name]) VALUES (N'veracity group')

במידה ונריץ את המשפט השליפה הבא לא נקבל תשובות מהסיבה שהעמודות הינן שוות (למרות שהן זהות בחלקם...):
SELECT *
FROM t_names INNER JOIN
t_full_names ON t_names.name = t_full_names.full_name

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

SELECT *
FROM t_names INNER JOIN
t_full_names ON t_full_names.full_name like t_names.name+'%'

בהצלחה!

יום שלישי, 29 ביוני 2010

SQL Server Best Practices

שלום רב,

כידוע מייקרוסופט מפרסמת מידי פעם מסמכי Best Practices למוצריה.
לכן, על מנת לעשות סדר - להלן קישור אשר מרכז את כל המסמכים הללו.

המסמכים כוללים הנחיות, עצות מומחים, והכוונה בנוגע ליישום הטכנולוגיות.

http://technet.microsoft.com/en-us/sqlserver/bb671430.aspx

בהצלחה.

יום חמישי, 22 באפריל 2010

סיפור לקוח : כא”ל לנהל נכון

שלום רב,

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

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

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

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

ב-Cal ביצענו פרויקט שבמסגרתו רוכזו היישומים לסביבת מחשוב מרכזית בתצורת Cluster, מבוססת Windows Server 2003/2008 ו-SQL Server 2005/2008 (גרסאות 2008 הושקו במהלך הפרויקט, שארך כשנה). כשותף מבצע נבחרה חברת ורסיטי, לאחר שהוכיחה מקצועיות ושירותיות ברמה גבוהה בפרויקטים קודמים ב-Cal. "הם הוכיחו יכולת לעמוד ביעדי זמן ותקציב, וידענו כי מובטחת לנו המשכיות לאורך זמן" מוסיף דביר.

"כתוצאה מהמהלך, מספר השרתים הפיזיים הצטמצם בצורה משמעותית - והוא מקיף כיום פחות ממחצית מסך השרתים הקודם", אומר איתי בנימין, מנהל פרויקטים ו-DBA בוראסיטי, ומציין: "כחלק מהפרויקט, אף בוצעה הפרדה מסודרת לסביבות עבודה נפרדות - Development, Testing ו-Production, דבר שלא היה קיים בעבר".

http://www.microsoft.com/israel/casestudies/cal1.mspx

יום רביעי, 6 בינואר 2010

Trigger with insert select

שלום רב,

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

במבט ראשון, הפתרון הינו פשוט :

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

בדרך כלל הטריגר יראה כך:

CREATE TRIGGER [dbo].[tri_TRIGGER_test_insert]
ON [dbo].[t_test_trigger]
AFTER INSERT
AS
declare @id int
select @id = id from inserted
exec p_send_mail @id
GO

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

ראשית ניצור טבלה:
CREATE table t_test_trigger
( id int)
go

להלן טריגר אשר אחרי כל הכנסת רשומה ידפיס את המספר הלקוח שהוכנס:
alter TRIGGER [dbo].[tri_TRIGGER_test_insert]
ON [dbo].[t_test_trigger]
AFTER INSERT
AS
declare @id int
select @id = id from inserted
select @id
GO

במידה ונבצע הכנסת נתונים בדרך הבאה, הכל יעבוד כשורה והטריגר יקפוץ 3 פעמים:
insert into t_test_trigger values (1)
insert into t_test_trigger values (2)
insert into t_test_trigger values (3)

אך שימו לב שאם נבצע הכנסת נתונים בו זמנית, הטריגר יקפוץ פעם אחד בלבד:
insert into t_test_trigger
select *
from t_test_trigger

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

פתרון:
במקרים בהם אנו יודעים שאופי הכנסת הנתונים מול הטבלה הינה גם על ידי
insert and select
הפתרון הינו לשים לולאה בתוך הטריגר אשר תרוץ על נתוני טבלת ה- inserted וכך הפרוצדורה שלנו תרוץ על כל הרשומות.

לדוגמא:
alter TRIGGER [dbo].[tri_TRIGGER_test_insert]
ON [dbo].[t_test_trigger]
AFTER INSERT
AS

DECLARE @id int
DECLARE uniques_cursor CURSOR FOR

select id from inserted

OPEN uniques_cursor
FETCH NEXT
FROM uniques_cursor
INTO @id
WHILE @@FETCH_STATUS = 0
BEGIN

select @id

FETCH NEXT
FROM uniques_cursor
INTO @id
END
CLOSE uniques_cursor
DEALLOCATE uniques_cursor

GO


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

בהצלחה.

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

Service Pack Support

שלום,

לפי מדיניות התמיכה של מיקרוסופט service pack נתמך למשך שנה או שנתיים (מ"ה ו dynamics שנתיים, היתר שנה) לאחר יציאת ה service pack הבא.
לדוגמא אם SP2 של מוצר יצא ב יולי 2009 אזי SP1 יתמך עד יולי 2010.
פרטים מלאים על מדיניות התמיכה ב service pack ניתן למצוא ב:
http://support.microsoft.com/lifecycle/#ServicePackSupport

ברצוני להתריע בפניכם כי SQL server 2005 SP2 עומד לצאת מתמיכה ב 10 לינואר 2010.
לכן, במידה ועדיין קיימות אצלכם מערכות בארגון עם SP2 מהרו לבצע בדיקות ולאחר מכן פריסת SQL Server 2005 SP3.

לפרטים נוספים:
http://blogs.msdn.com/sqlreleaseservices/archive/2009/10/08/end-of-service-pack-support-for-sql-server-2005-sp2-and-sql-server-2008-rtm.aspx

בהצלחה.

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

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

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


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

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

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

בהצלחה.

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

סנטריגו מגלה פרצה משמעותית של חשיפת סיסמאות ב-Microsoft SQL Server

בוקר טוב,

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

"במהלך מחקר אבטחה שוטף שלנו לתוך מסדי נתונים SQL Server, הבחין אחד מחוקרינו כי סיסמאותיו האישיות נראו בבירור כזיכרון ב-SQL Server", אמר סלביק מרקוביץ', ה-CTO של סנטריגו. "נכון שניצול פירצה זאת דורש גישה אדמיניסטרטיבית, אך במקרים רבים יש למשתמשים רבים גישה שכזו. אפילו אם האדם אמין לחלוטין, אסור שיוכל לראות אי פעם סיסמה עדכנית של משתמש אחר. בנוסף, הסיכון של האקר המקבל גישה אדמיניסטרטיבית לשרת קיימת תמיד, והחשיפה של סיסמאות משתמשים נוספות עלולה להגביר משמעותית את הסיכון שיוכל לחדור למערכות אחרות".

בעוד אדמיניסטרטורים יכולים לבצע בדרך כלל Reset של סיסמת משתמש אם נדרש, הרי תהליכים מומלצים באבטחה לא מאפשרים אפילו לאדמיניסטרטורים לראות את הסיסמאות העדכניות של משתמשים אחרים.
בנוסף, יישומים משקיעים רבות בערפול סיסמאות כאשר הן נדרשות בתוך התוכנה, ואסור שיאחסנו סיסמאות כ-"טקסט גלוי", בזיכרון (כפי שקורה בפרצה זאת) או בדיסק. זו אפילו בעיה גדולה יותר, מאחר שארגונים רבים חייבים לציית לתקנים רבים ולרגולציות הדורשות הפרדה קפדנית של תפקידים, מה שמופר בבירור על-ידי שיתוף סיסמאות משתמשים עם האדמיניסטרטורים.

לפרטים נוספים:
http://www.sentrigo.com/passwords
http://www.thepeople.co.il/_DailyMaily/ItemClean.asp?ArticleID=28889&Vol=1024&SearchParam=&CategoryID=72

יום ראשון, 4 באוקטובר 2009

חיפוש שרתי sql server ברשת?

שלום רב,

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

תשובה:
כידוע ישנו כלי בשם SQLCMD אשר מטרתו התחברות לשרת ה- sql server שלנו והרצת פקודות ישירות מה- CMD ללא כלי הניהול הסטנדרטיים של מייקרוסופט.
אנו נשתמש בו במקרה חרום כאשר יש בעיה כל שהיא בכלי הניהול, או בדרך ההתקשרות לשרת בסיס הנתונים. או כאשר אנו נרצה להריץ פקודות מול בסיס הנתונים על ידי קובץ EXE ועוד...

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

בהצלחה!
חג שמח!

יום שישי, 2 באוקטובר 2009

יום רביעי, 30 בספטמבר 2009

הכנסת XML ל- sql server

שלום רב,

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

להלן דוגמא מ- BOL למימוש הפונקציה והכנסת נתוני XML לטבלה ב- DB:
http://msdn.microsoft.com/en-us/library/aa276847(SQL.80).aspx

בהצלחה!

יום חמישי, 10 בספטמבר 2009

Change Manager 5.1.1

שלום רב,

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

Change Manager’s compare, synchronization, data masking, and auditing capabilities let you track and report on changes, roll out new releases, and pinpoint performance problems resulting from changes at the data, schema and database configuration levels.
By comparing a live database to a schema or configuration “snapshot” administrators can quickly identify changes and correct problems in less time.
And by monitoring configuration settings, DBAs can ensure compliance with regulatory policies and performance standards, and maintain overall database performance and availability.
Change Manager supports IBM® DB2® for LUW, Microsoft® SQL Server, Oracle®, and Sybase® from a single, easy to use interface.

לפרטים נוספים:
http://www.embarcadero.com/products/change-manager

המשך יום טוב.

יום ראשון, 9 באוגוסט 2009

HyperBac - כיווץ קבצי DB ב- HyperBac Online

שלום רב,

כידוע אחת היכולות של ה- HyperBac הינם -backup Online .
מצורף בזאת מאמר מפורט בנוגע ליכולת הכיווץ של ה- backup Online :
http://hyperbac.blogspot.com/2009/07/compress-sqlserver-datafiles-using.html

This article will introduce users to HyperBac Online and how to host compressed SQL Server databases using HyperBac Online extensions. Using this unique compression technlogy a typical SQLServer environment would be miles ahead of the game in conserving space, especially when used with their larger databases. This is because you essentially end up running your databases using a fraction of the space and a much smaller disk footprint. And the good news is that this unique technology can be selectively applied to specific databases within your SQL Server Instance.

יום טוב.

יום שני, 15 ביוני 2009

xp_msver

שלום רב,

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

מטרת הפונקציה להציג מידע חיוני אודות פלטפורמת ה- sql server שבשרת.

לדוגמא:
xp_msver 'ProductVersion' - מציג את הגרסה של הפלטפורמה.

פרמטרים נוספים שהפונקציה יכולה לקבל:

ProductName
Language
Platform
WindowsVersion
ProcessorCount
PhysicalMemory ועוד'.

לפרטים נוספים אודות הפונקציה:
http://msdn.microsoft.com/en-us/library/ms187372.aspx

בהצלחה.

יום חמישי, 30 באפריל 2009

DOS Commands for the SQL Server DBA

שחרור טרזנצקיות של משתמש

שאלה:
יש לי בסיס נתונים שאני רוצה למחוק אותו אבל קיים יוזר שמשתמש בו כרגע.
אני לא רוצה למחוק את ההרשאות של היוזר אבל אני רוצה להעיף אתו כרגע. מה לעשות ?

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

בהצלחה.