Specializations

Wednesday, January 23, 2013

Pop UP BLocker s in Browsers


FAQ - Disable Pop-Up Blockers

Document number: POP:01
Copyright (c) 2006 1stWorks Corporation. All rights reserved.



This FAQ describes how to disable some of the common pop-up blocking programs.
Toolbars and Browsers Software and Other
Windows XP SP2
Yahoo Toolbar
Google Toolbar
MSN Toolbar
AOL Toolbar
Netscape
Mozilla Firefox
Pop-Up Stopper
Pop-Up Cop
Security Software
Internet Service Providers

Pop-Up Blocker Test



Internet Explorer

With the release of Microsoft Windows XP Service Pack 2, pop-up blocking is integrated into Internet Explorer. By default, pop-up blocking is enabled.
Listed below is the location of the menu within Internet Explorer:
MSN Pop-Up blocker menu
To disable pop-up blocking: click Tools, then Pop-up Blocker, then Turn Off Pop-up Blocker.


Top


Yahoo Toolbar

The Yahoo Toolbar includes pop-up blocking. This is an example Yahoo Toolbar.
Yahoo Toolbar
The following icon is the Pop-Up Blocker:
Yahoo Pop-Up BLocker Icon
To disable Pop-Up Blocking:
  1. Click on the Down arrow in the icon to bring up a menu: Yahoo Pop-Up Blocker Menu
  2. Uncheck the Enable Pop-Up Blocker option.

To re-enable pop-up blocking, re-check the Enable Pop-Up Blocker option.


Top


Google Toolbar

The Google Toolbar includes pop-up blocking. To disable pop-up blocking, you must close the toolbar.

This icon shows pop-up blocking activity:
To close the Google toolbar:
  1. Right-click on the toolbar and a drop-down menu will appear with a listing of all of the toolbars.
  2. Uncheck the Google option.
To re-enable the Google Toolbar, right-click again in the toolbar area and recheck Google.
Important Note:
Changing the icon to reflect that Pop-Ups are now allowed will NOT allow hotComm pop-ups to be displayed, even though it shows the following:

You MUST disable the entire Toolbar.


Top


MSN Toolbar

The MSN toolbar includes pop-up blocking. This is an example MSN toolbar:

The following icon is the Pop-Up Blocker:

To disable Pop-Up Blocking:
  1. Click on the Down arrow to the right of the text to bring up the Menu:
  2. Click on the Allow Pop-ups option.

To re-enable pop-up blocking, re-check the Allow Pop-ups option.


Top


AOL Toolbar

The AOL Toolbar includes pop-up blocking. This is an example AOL Toolbar:

The following icon is the Pop-Up Blocker:

To allow Pop-ups to appear, click on the pop-up blocker icon. You should now see the following:

To re-enable pop-up blocking, click the pop-up blocker icon again.


Top


Netscape Toolbar

Netscape's pop-up blocker is integrated into the browser. To disable the pop-up blocker:

  1. From the Edit menu, select the Preferences option. The following window will appear:




  1. Click on the arrow beside the Privacy & Security option on the left-hand side of the window to make it display the options shown above.
  2. Click on the Pop-up Windows option
  3. Remove the checkmark from beside the Block Unrequested Pop-up Windows option.
  4. Click Ok to close the Window.

To re-enable pop-up blocking, check the Block Unrequested Pop-Up Winodws option.


Top


Mozilla Firefox Toolbar

The Mozilla Firefox pop-up blocker is integrated into the Firefox browser. To disable the pop-up blocker:
  1. Open the Tools menu and click on Options:

    The following window will appear:

  2. Click on the Web Features icon in the list on the left.
  3. Remove the checkmark beside the Block Pop-up windows option.
  4. Click Ok to close the window.

To re-enable pop-up blocking, check the Block Pop-up windows option.


Top


Pop-Up Stopper

This software is designed solely for preventing Pop-Ups. It will install an icon in the lower right corner of your Start Menu Toolbar

This is the Pop-Up Blocker icon:

To disable Pop-Up Blocking:
  1. Right-click on the icon and a Pop-Up menu will appear with a list of options:
  2. Uncheck the Block pop-up ad windows option.

To re-enable pop-up blocking, check the Block pop-up ad windows option.


Top


Pop-Up Cop

This software is also designed solely for preventing Pop-Ups. It installs the following toolbar within the browser:

To disable Pop-Up Blocking:
  1. Click on the arrow to the right of the badge and a menu will appear with a list of options:
  2. Click on Disable PopUpCop.
To re-enable pop-up blocking, click on the arrow to the right of the badge and click on Enable PopUpCop.


Top


Security Software

Check your Windows taskbar for security programs that may have a pop-up blocker, such as Norton Internet Security, McAfee Security Suite, and ZoneAlarm.
Icons for these programs are usually located in the lower right-hand corner of your screen, next to the clock (see below).

Try double-clicking the program icon to launch a window where you can change software settings. Refer to the software documentation to locate the pop-up blocker.


Top


Internet Service Providers (ISP)

Some Internet Service Provicers include pop-up blockers in their connection software. This is an example from Comcast:
Example: Comcast - how to disable pop-up blocking software
  1. Select the Privacy button from the Security Manager (icon shown below)

  2. From the drop down list, select Privacy Settings.
  3. You can enable pop-up blocker or banner-ad blocking by placing a checkmark in the corresponding box. To disable either feature, remove the checkmark from the box.

  4. Click Apply and then Ok after making changes.



Top


Pop-up Blocker Test

Below is a link (use at your own discretion) which will help you determine if you have a pop-up blocker installed or enabled. Once you click on the link it will open up 10 pop-up windows. If it does not, you have something blocking the pop-ups or a possible issue with java.
  1. Link: http://www.popuptest.com
  2. Click on the Multi Pop-up Test link


Top

Thursday, January 17, 2013

Microsoft design Paterans


Design Patterns

In software architecture and development, a pattern is a description of a recurring problem that occurs in a specific context and, based on a set of guiding forces, suggests a solution. The solution is usually a simple mechanism because it is a collaboration between two or more classes, objects, services, processes, threads, components, or nodes that work together to solve the underlying architecture or development challenge.


Patterns are useful to developers and architects because they do the following:
  • They document simple mechanisms that work.
  • They provide a common vocabulary and taxonomy for developers and architects.
  • They allow solutions to be described concisely as combinations of patterns.
  • They enable reuse of architecture, design, and implementation decisions.
The Enterprise Library application blocks use the following patterns (among others):
  • Factory pattern. This is a creational pattern that uses a special type of object to create other objects.
  • Plug-in pattern. This pattern extends the behavior of a class by allowing extensions to plug into an abstract class that, in turn, plugs into a core class. This creates a new subclass that includes only the capabilities required in the specific context.
  • Dependency Injection pattern. With this pattern, you can inject objects into a class, instead of relying on the class to create the object.
For more information about patterns, see the Microsoft patterns & practices Web site.
The Factory pattern is a software design pattern of the creational type (that is, it uses one abstract entity to create another). The Enterprise Library application blocks use the Factory pattern extensively. For example, in the Caching Application Block, the CacheFactory initializes an instance of the CacheManager object. The CacheManagercreates a CacheManagerFactory object, which in turn creates a Cache object. The Cache object holds an in-memory representation of the data in the backing store. After the Cache object is created, applications can make requests to the CacheManager object to retrieve cached data, add data to the cache, and remove data from the cache. For more information, see Design of the Caching Application Block.
The Data Access Application Block uses the Factory pattern in a similar manner. The client code calls the static CreateDatabase method on the DatabaseFactory class to create instances of the Database object. For more information, see Design of the Data Access Application Block.
For more information about the Factory pattern and its use in the .NET Framework, see Exploring the Factory Design Pattern on MSDN.
The Plug-in pattern is a software pattern that creates an object instance of an interface at run time. The Plug-in pattern extends the behavior of an existing class so that it can be used for a more specific purpose. It differs from using class inheritance, where behavior is altered or overwritten, or configuration, where behavior modification is limited to the capabilities of the defined configuration options.
With the Plug-in pattern, the modified behavior (the plug-in) connects to an abstract partial class, which, in turn, connects to the core class. The plug-in uses this interface to implement methods called by the core class and can also call new methods at the core class.
The Dependency Injection pattern allows you to inject objects into a class, instead of relying on the class to create the object. This is particularly helpful in situations where you want to decouple the details of a particular implementation or deployment from your application code. The Dependency Injection pattern decouples services or other code that an application might be dependent on from the application itself and packages it in a container. Then, the responsibility for handling the code interdependencies—including object creation and linking—are removed from the objects themselves and transferred to another entity. Unlike with the Factory pattern, with the Dependency Injection pattern, code in containers can be shared by multiple applications.
The System.ComponentModel namespace is a Microsoft implementation of the Dependency Injection pattern. In the Enterprise Library, ObjectBuilder and the Unity Application Block implement the Dependency Injection pattern.
For more information about the Dependency Injection pattern, see Inversion of Control Containers and the Dependency Injection Pattern.
Refer: http://msdn.microsoft.com/en-us/library/ff647483.aspx#feedback

Thursday, January 10, 2013

JQuery CSS Dropdown Menu

 JQuery CSS Dropdown Menu – 2 Levels

using generic xhtml markup with very simple jQuery & CSS code to achieve the smooth drop down effect with 2 levels of drop down menu. So lets start then with the xhtml code.

First of all lets set the folder structure as follows:

  • images (to store images)
  • css (to store css files)
  • js (to store javascript files)

1) Set up Xhtml Markup

We will need simple unordered list menu markup for this tutorial as you see below:
<div id="menu-wrapper">
<ul>
<li><a href="#" title="Home"> Home </a></li>
<li><a href="#" title="About"> About </a></li>
<li><a href="#" title="Services"> Services </a></li>
<li><a href="#" title="Tutorials"> Tutorials </a></li>
<li><a href="#" title="Free Downloads"> Free Downloads </a></li>
<li><a href="#" title="Contact"> Contact </a></li>
</ul>
</div>

Above code is the main menu of our drop down. Lets add the first-level drop down menu in the above code and then the second-level drop down menu.

<div id="menu-wrapper">
<ul>
<li><a href="#" title="Home"> Home </a></li>
<li><a href="#" title="About"> About </a></li>
<li><a href="#" title="Services"> Services </a>
<ul>
<li><a href="#" title="Logo Design">Logo Design</a></li>
<li><a href="#" title="Website Design">Website Design</a>
<ul>
<li><a href="#" title="Portfolio Websites">Portfolio Websites</a></li>
<li><a href="#" title="Corporate Websites">Corporate Websites</a></li>
<li><a href="#" title="Portals">Portals</a></li>
<li><a href="#" title="Contemporary Websites">Contemporary Websites</a></li>
</ul>
</li>
<li><a href="#" title="Print Design">Print Design</a></li>
<li><a href="#" title="Social Media Design">Social Media Design</a></li>
</ul>
</li>
<li><a href="#" title="Tutorials"> Tutorials </a></li>
<li><a href="#" title="Free Downloads"> Free Downloads </a></li>
<li><a href="#" title="Contact"> Contact </a></li>
</ul>
</div>

2) Now Lets add css code.

#menu-wrapper {
display:block;
width:900px;
margin:0 auto;
background:#333 url(../images/menu-bg.png) repeat-x 0px 0px scroll;
}
#menu-wrapper ul {
display:block;
list-style:none;
}
#menu-wrapper li {
display:block;
position:relative;
float:left;
}
#menu-wrapper li a:link, #menu-wrapper li a:visited {
display:inline-block;
padding:7px 15px;
color:#fff;
font-weight:bold;
text-shadow:#000 0px 1px 0px;
}
#menu-wrapper li a:hover, #menu-wrapper li.active a, #menu-wrapper li:hover a {
background:url(../images/menu-bg.png) repeat-x 0px -35px scroll;
color:#333;
text-shadow:#f5f6f8 0px 1px 0px;
}
#menu-wrapper li a:focus, #menu-wrapper li a:active {
background:url(../images/menu-bg.png) repeat-x 0px -70px scroll;
color:#fff;
text-shadow:#000 0px 1px 0px;
border:#4b4b4d 1px solid;
border-style:none solid none solid;
padding:7px 14px;
}
.haschild>a {
background-image:url(../images/submenu-arrow.png)!important;
background-position:right center!important;
background-repeat:no-repeat!important;
}
/* ------------- Submenu --------- */
#menu-wrapper li ul {
position:absolute;
border:#dadcdf 1px solid;
border-style:none solid solid solid;
left:0px;
top:34px;
display:none;
z-index:10000;
}
#menu-wrapper ul li ul.submenu li {
width:250px;
display:block;
}
#menu-wrapper ul li ul.submenu li a, #menu-wrapper ul li ul.submenu li:hover li a {
background:#ececec;
color:#333;
text-shadow:#fff 0px 1px 0px;
border-bottom:#fff 1px dotted;
display:block;
}
#menu-wrapper ul li ul.submenu li li a:hover, #menu-wrapper ul li ul.submenu li:hover a {
background:#333;
color:#fff;
text-shadow:#000 0px 1px 0px;
}
/* ------------- Level 2 ---------------------- */
#menu-wrapper li li ul {
position:absolute;
border:#dadcdf 1px solid;
border-style:none solid solid solid;
left:250px;
top:0px;
display:none;
z-index:10000;
}

3) Lets add the jQuery code now

For this step we need the jquery framework to achieve the effects. You can get the latest jquery from here.
Once you download the jquery we have to embed the same in the <head> tag of our html document and also the new js file which will contain our custom jquery code sinppet to call function as below:
<script type="text/javascript" src="js/jquery-1.6.2.min.js"></script>
<script type="text/javascript" src="js/script.js"></script>

4) Create the Script file

Lets create the script file now with the following code in it and put that in the same directory where all your JS files are. The following custom jquery code will get the jquery drop down effect for our menu.

$(document).ready(function() {
// Submenu Menu
$('#menu-wrapper ul li').hover(
function() {
$(this).find('ul:first').slideDown('slow');
}, function() {
$(this).find('ul').slideUp('fast');
});
});

SELECT OR DESELECT Multiple Checkbox

SELECT OR DESELECT Multiple Checkbox
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<title>SELECT OR DESELECT Multiple Checkbox</title>
<SCRIPT language="javascript">
$(function(){
 
    // add multiple select / deselect functionality
    $("#selectall").click(function () {
          $('.case').attr('checked', this.checked);
    });
    $(".case").click(function(){
 
        if($(".case").length == $(".case:checked").length) {
            $("#selectall").attr("checked", "checked");
        } else {
            $("#selectall").removeAttr("checked");
        }
 
    });
});
</SCRIPT>
</head>
<body>
<table border="1">
<tr>
    <th><input type="checkbox" id="selectall"/></th>
    <th>Cell phone</th>

</tr>
<tr>
    <td align="center"><input type="checkbox" class="case" name="case" value="1"/></td>
    <td>BlackBerry Bold 9650</td>
 
</tr>
<tr>
    <td align="center"><input type="checkbox" class="case" name="case" value="2"/></td>
    <td>Samsung Galaxy</td>
    
</tr>
<tr>
    <td align="center"><input type="checkbox" class="case" name="case" value="3"/></td>
    <td>Droid X</td>

</tr>
<tr>
    <td align="center"><input type="checkbox" class="case" name="case" value="4"/></td>
    <td>HTC Desire</td>
>
</tr>
<tr>
    <td align="center"><input type="checkbox" class="case" name="case" value="5"/></td>
    <td>Apple iPhone 4</td>
   
</tr>
</table>
</body>
</html>

HTML5 interview questions and answers

HTML5 interview questions and answers

Questions : 1What is the difference between HTML and HTML5 ?
Answers : 1HTML5 is nothing more then upgreaded version of HTML where in HTML5 Lot of new future like Video, Audio/mp3, date select function , placeholder , Canvas, 2D/3D Graphics, Local SQL Database added so that no need to do external plugin like Flash player or other library
  
Questions : 2What is the <!DOCTYPE> ? Is it necessary to use in HTML5 ? 
Answers : 2The <!DOCTYPE> is an instruction to the web browser about what version of HTML the page is written in. AND The <!DOCTYPE> tag does not have an end tag and It is not case sensitive.

The <!DOCTYPE> declaration must be the very first thing in HTML5 document, before the <html> tag. As In HTML 4.01, all <! DOCTYPE > declarations require a reference to a Document Type Definition (DTD), because HTML 4.01 was based on Standard Generalized Markup Language (SGML). WHERE AS HTML5 is not based on SGML, and therefore does not require a reference to a Document Type Definition (DTD).
  
Questions : 3How many New Markup Elements you know in HTML5
Answer : 3Below are the New Markup Elements added in HTML5
TagDescription
<article>Specifies independent, self-contained content, could be a news-article, blog post, forum post, or other articles which can be distributed independently from the rest of the site.
<aside>For content aside from the content it is placed in. The aside content should be related to the surrounding content
<bdi>For text that should not be bound to the text-direction of its parent elements
<command>A button, or a radiobutton, or a checkbox
<details>For describing details about a document, or parts of a document
<summary>A caption, or summary, inside the details element
<figure>For grouping a section of stand-alone content, could be a video
<figcaption>The caption of the figure section
<footer>For a footer of a document or section, could include the name of the author, the date of the document, contact information, or copyright information
<header>For an introduction of a document or section, could include navigation
<hgroup>For a section of headings, using <h1> to <h6>, where the largest is the main heading of the section, and the others are sub-headings
<mark>For text that should be highlighted
<meter>For a measurement, used only if the maximum and minimum values are known
<nav>For a section of navigation
<progress>The state of a work in progress
<ruby>For ruby annotation (Chinese notes or characters)
<rt>For explanation of the ruby annotation
<rp>What to show browsers that do not support the ruby element
<section>For a section in a document. Such as chapters, headers, footers, or any other sections of the document
<time>For defining a time or a date, or both
<wbr>Word break. For defining a line-break opportunity.

  
Questions : 4What are the New Media Elements in HTML5? is canvas element used in HTML5
Answer : 4Below are the New Media Elements have added in HTML5
TagDescription
<audio>For multimedia content, sounds, music or other audio streams
<video>For video content, such as a movie clip or other video streams
<source>For media resources for media elements, defined inside video or audio elements
<embed>For embedded content, such as a plug-in
<track>For text tracks used in mediaplayers

yes we can use Canvas element in html5 like below
<canvas>
  
Questions : 5Do you know New Input Type Attribute in HTML5
Answers : 5Yes we can use below new input type Attribute in HTML5
TypeValue
telThe input is of type telephone number
searchThe input field is a search field
urla URL
emailOne or more email addresses
datetimeA date and/or time
dateA date
monthA month
weekA week
timeThe input value is of type time
datetime-localA local date/time
numberA number
rangeA number in a given range
colorA hexadecimal color, like #82345c
placeholderSpecifies a short hint that describes the expected value of an input field
  
Questions : 6How to add video and audio in HTML5
Answers : 6Like below we can add video in html5
<video width="320" height="240" controls="controls">
  <source src="pcds.mp4" type="video/mp4" />
  <source src="pcds.ogg" type="video/ogg" />
  </video>
And audie like this
<audio controls="controls">
  <source src="song.ogg" type="audio/ogg" />
  <source src="song.mp3" type="audio/mpeg" />
  </audio>
  
Questions : 7What the use of Canvas Element in HTML5
Answers : 7The canvas element is used to draw graphics images on a web page by using javascript like below
<canvas id="pcdsCanvas" width="500" height="400"></canvas> <script type="text/javascript">
var pcdsCanvas=document.getElementById("pcdsCanvas");
var pcdsText=pcdsCanvas.getContext("2d");
pcdsText.fillStyle="#82345c";
pcdsText.fillRect(0,0,150,75);
</script>
  
Questions : 8What is the use of localStorage in HTML5 ?
Answers : 8Before HTML5 LocalStores was done with cookies. Cookies are not very good for large amounts of data, because they are passed on by every request to the server, so it was very slow and in-effective.

In HTML5, the data is NOT passed on by every server request, but used ONLY when asked for. It is possible to store large amounts of data without affecting the website's performance.and The data is stored in different areas for different websites, and a website can only access data stored by itself.

And for creating localstores just need to call localStorage object like below we are storing name and address
<script type="text/javascript">
localStorage.name="PCDS";
document.write(localStorage.name);
</script>
<script type="text/javascript">
localStorage.address="Mumbai India..";
document.write(localStorage.address);
</script>
  
Questions : 9What is the sessionStorage Object in html5 ? How to create and access ?
Answers : 9
The sessionStorage object stores the data for one session. The data is deleted when the user closes the browser window. like below we can create and access a sessionStorage here we created "name" as session
<script type="text/javascript">
sessionStorage.name="PCDS";
document.write(sessionStorage.name);
</script>

Web Development: What are the most important HTML5 + CSS3 + JS concepts to have mastered for an interview as a Front End Web App Developer

Here is a short list of what any good HTML5 front-end application developers should know:
  1. Understand that HTML5 is HTML and that the same application model is applicable. So, no new magical development paradigm was brought with HTML5 (outside of Canvas/WebGL, which is totally new), just browsers are more robust, much faster, and more capable.
  2. Understand that many of the effects in CSS3 are available in IE7 & IE8  with proprietary Microsoft CSS attributes. (rounded corners being the main exception). So, if a client wants to do "HTML5" looking app in IE7+, it is totally possible by use the "MS/IE7" old CSS properties and JavaScript animation lib like jQuery animate.
  3. Understand that JavaScript is completely Object Oriented, and that there is no need to have some meta-framework like Sencha to do good OO in Javascript. See an article I wrote here: http://britesnow.com/html5/javas...
  4. Understand the power of HTML and CSS for good component layout. Twitter/Bootstrap is a great (and probably the best) example of this. Simple HTML structure with simple CSS classes, and you can get some great reusable UI elements. 
  5. Understand that decoupling UI layout/style from behavior (i.e. JS) brings a great deal of performance and flexibility. This could be described as the Twitter/Boostrap way vs the Sencha one. The former has a great decoupling between the HTML/CSS code and the JavaScript (which is not needed to get the layout/style), and the later, Sencha intermingles everything in a foreign all-in-one component UI and OO language (high-learning curve and high-degree of lock-in). (in other words, avoid Sencha like frameworks)
  6. Understand the pros/cons of CSS animations vs JavaScript ones. The pros for CSS transitions is that it is easier for browsers to optimize them, Safari on Mobile/PC and Chrome on PC  even move them to GPUs. The cons is that CSS transitions do not work on older browsers (IE 7 & 8) and that they do not offer much controls (e.g., can't really stop them and no curve path).
  7. Understand the benefits and the "Why" of the Web Workers. In short, it's a way to do multi-threaded work in a single threaded environment. Before HTML5, the only way was with Ajax, and therefore including a server in the picture, now it can just be all local.
  8. Understand the Canvas vs SVG. This one is a tricky one, as there are lot of "social-engineering" baggage behind the technical aspects. On the technical side, SVG is a DOM approach to vector graphic (and consequently retained mode) whereas Canvas is a programmatic and immediate mode approach. The catch is that sometime it seems that Canvas gets a little bit more "love" from the browser vendor developers as SVG always had a love and hate relationship with HTML from its beginning.
  9. DOM Centric MVC. Ok, this is more an opinion than a fact, but given my expertise, HTML5 application developer (not web page developers) needs to have a good understanding of what is MVC, and realize that they do not need "do-it-all" meta frameworks do do MVC in HTML. In fact, with little DOM extension, it is relatively easy do do MVC the DOM way.
  10. onload
    vs jQuery
    $
    (
    document
    ).
    ready
    : which one trigger first? This is a great low level question to ask to anybody that claim they know jQuery. In short, onload trigger after, and
    $
    (
    document
    ).
    ready
    trigger before and is a normalization brought by jQuery.

Career counselling FAQ for IT professional

Career counselling FAQ for IT professional



Below are career related questions which are frequently asked by IT professionals. I have 2 years in ASP.NET working in a small firm. I want to join a MNC . I am getting 1.8 lakhs per annum Can i ask for 3.5 Lakhs. Is the quote right , should i asked directly this salary ?
How is software architecture different from project management ?
I am following CMMI but still can not manage projects. In one of my interviews i was asked about this but i was not able to give a confident answer.
I want be a software architect ?
-----------------------------------------------------------------------------------------------------------------------------------------------------
Question :- I have 2 years in ASP.NET working in a small firm. I want to join a MNC . I am getting 1.8 lakhs per annum Can i ask for 3.5 Lakhs. Is the quote right , should i asked directly this salary ?
By Shivprasad Koirala
MNC have salary slab fixed ( That's what my exp is with Accenture , DELL and Wipro). That means if you have 2 to 3 yrs of exp you can have salary between 22000 PM to 40000 PM ( Per month). As they have strict HR policies they try to put every one in a equal slab. So even if you demand more the slab is fixed. A exceptional hike can not be more than 40 percent of your current CTC in any MNC. YOur asking range is approximately 50 %. It can also turn back.

Ask for 40% hike ( if you are very confident) with negotiable word attached
------------------------------------------------------------------------------------------------------------------------------------------------------
Bhavanesh Asar
The other workaround for getting higher salary is try to negosiate with ur existing employer and than jump to next job this is much more easy way
-----------------------------------------------------------------------------------------------------------------------------------------------------
Rajesh Pillai
Salary hike is dependent on many criteria like
- industry standard
- your experience level
- the need or urgency[If the company is in badly need for a paticular skillset[they will pay you upto 100%] ]

For the third one to apply you ought to have some unique skill set/good experience with known clients.

In general don't ask for a particular amount, let them come up with their slab
and if they ask your expectation and you find that their slab is lower than 40%
then you can ask for 40% + negotiable in a polite way.


But, nowadays, I find getting upto 60% hike is a norm the way recruitment is being going on and the salary being given out[my last 3 months exp in recruiting[feedback from collegues] tells me this].

But this is just an exception.

So, brush up your skillset, deep dive into it, master certain unique aspect of your work area and then apply for a job. Chances are you might get more than you wanted :)

And there is always an exception to the rule....
----------------------------------------------------------------------------------------------------------------------------------------------------------
Sainath Sherigar
Check this article from Economic Times which pretty much sums up what one needs to do in this regard.

http://economictimes.indiatimes.com/articleshow/1873840.cms-----------------------------------------------------------------------------------------------------------------------------------------------------------

How is software architecture different from project management ?
By Bhavanesh Asar
yes S/W Architecture and project management are 2 diffrent things S/W Architecture is completly technical work which deals in designing of software functionality while project management is a task which deal in managing ressources(software,hardware, and humanware) and accounting there use .Technical sucess of the project depends on S/W Architecture and over all Project sucess depends on Project Manager. S/W Architecture is also a resource under a project manager but a very technical sucess of project as said before depends on him.
By Sainath Sherigar

You have asked a very good question - which I believe most people at your level of experience ask some time or the other.
Adding to what Bhavanesh has already mentioned separating the role of a PM and an architect becomes necessary in big projects involving atleast 20-25 resources.Handing project deadlines,gathering requirements,client interaction,allocating resources - people & hardware assets,handling project budgets,handling stakeholders(people for whom the software is being made),etc is the primary responsibility of the PM.A PM needs to possess what can be called "helicopter vision" - the ability to keep the entire project on track.Truly successful PMs are also excellent leaders and masters in man management.
A S/W architect needs to have both "tunnel vision" with respect to the hard core technical aspects of a project,whether something is technically feasible or not,if the soln. architecture adopted is correct.He also needs to have "helicopter vision" - is the project scalable,can it handle a bigger user base in future (Kapil is the best guy to speak on this)
I would urge you to take inventory of your own skillsets before finalizing which career path to opt for.The questions below might help:
For software architecture:
- are you technically strong
- do you enjoy resolving technical issues in a project
- do you keep exploring new technologies when they are in their Beta stage itself.
- do you enjoy coding
- do you possess an investigative/exploring mindset
- do you possess good software engineering knowledge(for ex. design patterns,best practices is S/w development,etc) or have a strong interest in the same
For Project Management
- are you good in planning (very imp.)
- are you a good communicator
- are you a good leader (Test yourself - how many people voluntarily accept your advice,approach you for solving their problems.The key word here is "voluntary",without any reporting hierarchy in between)
- are you a good negotiator
- do you like the challenge of handling people (many people underestimate this skill set)
- can you take total responsibility for the success/failure of a project
- do you possess good domain knowledge
The S/W architects role is still evolving in India - of late this has picked up a lot of momentum.But I would suggest that you honestly evaluate where your interests and skills stand.
True success can come only when both the HEAD (ability to do something) and HEART (genuine interest in an area) are in sync. Don't get swayed by titles like "Manager","Architect" - find your strong area and push forward - All the best.
By Kapil Siddharth
PM is one manages Man, Material , Money(budget) and Time(Schedule).Architect looksinto the technical aspect- how is the system to be built. foundation framework, communication between different components, data storage (database) and lot of other techincal feasbilities. WEB DEVELOPMENT it self a very big area for Archietcting. Web Application are used by millions of people so when you start building these web application and thinking of solutions to keep them running. You are entering into arena of archiecting...How is your web application depolyed? Is there a load balancer needed? Is there session failover needed?How can give my application be 24x7 availabilty ? If 1000 users are added can my web application survive the load?
So I you are leading and managing the team -work allocation and managing their schedule then your are in for PM.
If you are asking more of 2 answer then you are in for architect
By Shivprasad Koirala
Nothing to add more , Sainath and Bhavanesh has covered it all.But yes its a right time to take a decision and stick to it. It should not fluctuate after 5 years. For instance you walk on the architecture path and then see PM's have a good salary and your goals fluctuate.

I am following CMMI but still can not manage projects. In one of my interviews i was asked about this but i was not able to give a confident answer.
By Kapil Siddharth

CMMi is all baout measurement ,plan estimate, track against planned estimates and see where youand
control if problem.For managing project:Break down your projects in unit of task as small as 2 days.Also include review and rework for each task.Plan with their estimated effort.On execution,As each of your task complete, your work is done by thateffort.
(tracked) There is nothing as 1/2 work or 75% work. So plan as small asunit as possible.Also enter review effort and rework (changes after review)
Once you have these measurements, you have your project tracked as against plan.Now once you have your project track , you can control by
seeing indicator if it is slippiong agains the plan.

So indicators is:
1) Your plan
2) Bugs numbers --> compare against previous metrics , if
indicates problem control
3) Reviews --> compare against previous metrics , if
indicates
problem control.


Next part of CMMi is improve,So you plan for improvement , against existing metrics trend plan for lower bugs, lower review defect, lessor effort.

Understand this qulity should save time and productivity.

Tapan Das

U need to understand CMMi in true value to the organization. It is "Maturity" that counts. So moving from Level 3 to Level 5 without step
by step movement is of NO value. A major Process Area (PA) is OT or Organization Training. It is important that you as well as your internal
audit team gets educated on the same and then try to implement the same. Jumping across levels is not moving the Plan-Do-Check-Act (PDCA) cycle
path and can result in the situation you are in. So advise a step by step movement be in any KPA.Other way round if you refer to CMMi guide there are 2 models - one tracks by PA strength the other by phased approach.See what best suites you and your organization. You can concentrate on a
particular PA and then strenghten it from Level 3 to Level 5. Other way is to know all the PA's under one level/ phase and move up the phase step
by step.
Shivprasad Koirala
First thing process is for the project and not project for the process. If we try to complete projects looking at how we can fulfill CMMI , its not going to yield anything. All KPA of CMMI match to some activities in the project. For instance requirement document match to REQM KPA , Design document of a project matches to TS of CMMI , Good testing documents match to VAL and VER in CMMI. These document we always create basically in a project. Now comes second part Audit , the auditor will be more than happy to see the process in institution rather than forcibly made document to get CMMI.
The best answer in interview will be to map the documents with the process. All KPA's in CMMI is directly or indirectly done some where in project.For instance DAR in a project does not need be a formal document or fish bone diagram , can be email thread on which important decisions are made.

I want be a software architect ?
By Rajesh Pillai
- Have a strong technical foundation in respective technology (c#,asp.net, Sqlserver/ or java/ejb/oracle or whatever)
- Have fair understanding of database technologies Since you are interested in software architecture master the below technologies/concepts
- software modelling [also related to designing]
- non functional requirements like performance, instrumentation,logging, security etc.
- good grasp of OOPS, OOAD, AOP etc.
- communication skills[very important]
- be thorough in atleast two diff. vendor tech or atlease have a working knowledge of the other one [e.g. .NET and Java etc.]
- start a group where you can share architecture thoughts
- Business Process knowledge
- Remember, as an Architect you have to deal with various stakeholders, so you should have the ability to put their problem in perspective and come out with the solution and be able to communicate it clearly.
The career path for software/application architect is something like
this
- 7+ years of exp: Associate Technical Architect
- 8+ Technical Architect
- 9 + Architect
This may vary with different IT company's but the core skills remain the same.
As per you mail you have good exp. in vb and sql. But this is not sufficient. You have to shift your attention to .NET technologies (since thats a natural migration path for you) These will help you build a strong foundation towards your goal as a software architect. Check out these sites mentioned below. You will get some good insight as to what's happening in the architect world;
http://msdn2.microsoft.com/en-us/skyscrapr/default.aspx This is the microsoft site covering all areas of architecture.
By Shivprasad Koirala
Including what Rajesh suggested you can do the following step by step :-
-- Migrate yourself from VB to VB.NET or C# . VB is a object based language while C# and and VB.NET are Object oriented. This will give you a
new dimension of thinking from pure Object oriented perspective languages.
-- Good understanding of UML which can help you write good technical design document.
-- As Rajesh said keep yourself flexible with multiple languages like JAVA and C#. They cover the maximum IT industry.
-- Read design patterns but think how they fit in real scenarios. Probably in your current project scenarios you can see how they fit in.
-- As Rajesh said read about new concepts like AOP , SOA etc and how they fit in actual real life.
-- Do not forget the Database side (Tuning , Good SQL , DB design).Do not forget Data warehousing , mining etc.
Patterns and Practices on the Microsoft site is a good point to start. I am sure with 9 years of EXP and already having the quality of
execution you will definitely become architecture role wise. But the biggest struggle starts after it. In India there are no special
positions for Architecture as such ( At least till whatever companies i have worked with). Big companies have so called Architecture groups , but really do
not know how far they add value to the project. Many times the Architecture of the project is a senior developer. Managers positions are well defined
and so their salary structures. As positions are not defined so they end up getting paid a bit less than Managers. So many start as aspiring
architectures and end with a Manager position later. I am sure many architectures are disguised as project managers.Would like to see Kapil's view on the same.
By Kapil Siddharth
You already had very good points both from shiv and Rajesh to proceed.

Let me also give a brief on architecture:
Architecture of any product is looking at it from 100ft high view. Lots of the things are abstracted in architecture.

Experince matters a lot in career a architect. But it also matters whether you haveing been doing routine stuff like crud operations in all your projects; then you need more complex project to execute. I hope in your VB/SQL you have done complex scenarios of tier architecture , distributed architecture.

Whether you had chance to work where you had to think of performance , caching , pooling?

Architecture not very different from desing; but here you abstract uot most of the routine stuff and build on things which you think more attention and can make or break application. You think all aspects. You may have reqt. for performance, maintainance, monitoring , even reqt. like data replication.

Then you design your archietcture for these features . Replication may be new thing hence your architecture may need to satisfy the data replication reqt. Some of the points may be contradictory. Then you have decide on trade-off ; get approval on from stakeholders. Patterns , architectures of other application(Copy is best form of learning)

It may happen that to solve your problem there are popular architectures already available. Here comes in patterns and practices. but you need to apply them in your project again based on budget.

You cannot give customer Mercedes when he is only paying for Maruti.

Shiv righlty said that architect is very new position in India. Industry is still trying to define the role of an architect. How is he different from earler techincal people? Because industry thinks of him as good techincal person. whose responsilbilty is to handle all techincal stuff. As per business requirment and time available; it usually happens archirtect keeps handling techincal stuff and also keep managing technical people solving their problems because customers usually are not ready to pay or do not budget for archiecture feature, they usually have short term vision.

Architecture is more from point of view of the vision envisioned for the product, how is the roadmap envisioned for it. So that you can built on basic archietcure and then let it evolve.

[Architectures are not built in a day but get evolve]. People make mistakes of trying to build rome in a day.




Return to Top

Questions

Chapter 1: Database Concepts
· What is database or database management systems (DBMS)?

· What is difference between DBMS and RDBMS?
· What are CODD rules?
· Is access database a RDBMS?
· What is the main difference between ACCESS and SQL SERVER?
· What is the difference between MSDE and SQL SERVER 2000?
· What is SQL SERVER Express 2005 Edition?
· What is SQL Server 2000 Workload Governor?
· What is the difference between SQL SERVER 2000 and 2005?
· What are E-R diagrams?
· How many types of relationship exist in database designing?
· What is normalization? What are different types of normalization?
· What is denormalization?
· Can you explain Fourth Normal Form?
· Can you explain Fifth Normal Form?
· Have you heard about sixth normal form?
· What is Extent and Page?
· What are the different sections in Page?
· What are page splits?
· In which files does actually SQL Server store data?
· What is Collation in SQL Server?
· Can we have a different collation for database and table?
Chapter 2: SQL
· Revisiting basic syntax of SQL?
· What are “GRANT” and “REVOKE’ statements?
· What is Cascade and Restrict in DROP table SQL?
· How to import table using “INSERT” statement?
· What is a DDL, DML and DCL concept in RDBMS world?
· What are different types of joins in SQL?
· What is “CROSS JOIN”?
· You want to select the first record in a given set of rows?
· How do you sort in SQL?
· How do you select unique rows using SQL?
· Can you name some aggregate function is SQL Server?
· What is the default “SORT” order for a SQL?
· What are Wildcard operators in SQL Server?
· What is the difference between “UNION” and “UNION ALL”?
· What are cursors and what are the situations you will use them?
· What are the steps to create a cursor?
· What is a self-join?
· What are the different Cursor Types?
· What are “Global” and “Local” cursors?
· What is “Group by” clause?
· What is ROLLUP?
· What is the difference between DELETE and TRUNCATE
· What is CUBE?
· What is the difference between “HAVING” and “WHERE” clause?
· What is “COMPUTE” clause in SQL?
· What is “WITH TIES” clause in SQL?
· What does “SET ROWCOUNT” syntax achieves?
· What is a Sub-Query?
· What is “Correlated Subqueries”?
· What is “ALL” and “ANY” operator? or
· What is a “CASE” statement in SQL? or
· What does COLLATE Keyword in SQL signify? or
· What is CTE (Common Table Expression)?
· Select addresses which are between ‘1/1/2004’ and ‘1/4/2004’?
· What is TRY/CATCH block in T-SQL?
· What is UNPIVOT?
· What are RANKING functions?
· Why should you use CTE rather than simple views?
· What is RANK ()?
· What is ROW_NUMBER()?
· What is DENSE_RANK()?
· What is NTILE()?
· What is SQl injection?
· What (is PIVOT feature in SQL Server?
Chapter 3: .NET Integration
· What are steps to load a .NET code in SQL SERVER 2005?
· How can we drop an assembly from SQL SERVER?
· Are changes made to assembly updated automatically in database?
· Why do we need to drop assembly for updating changes?
· How to see assemblies loaded in SQL Server?
· I want to see which files are linked with which assemblies?
· Does .NET CLR and SQL SERVER run in different process?
· Does .NET controls SQL SERVER or is it vice-versa?
· Is SQLCLR configured by default?
· How to configure CLR for SQL SERVER?
· How does SQL Server control .NET run-time?
· In previous versions of .NET it was done via COM interface
“ICorRuntimeHost”.
·
· What is a “SAND BOX” in SQL Server 2005?
· What is an application domain?
· How is .NET Appdomain allocated in SQL SERVER 2005?
· What is Syntax for creating a new assembly in SQL Server 2005?
· Do Assemblies loaded in database need actual .NET DLL?
· You have an assembly, which is dependent on other assemblies; will SQL Server
load the dependent assemblies?
· Does SQL Server handle unmanaged resources?
· What is Multi- tasking?
· What is Multi-threading?
· What is a Thread?
· Can we have multiple threads in one App domain?
· What is Non-preemptive threading?
· What is pre-emptive threading?
· Can you explain threading model in SQL Server?
· How does .NET and SQL Server thread work?
· How is exception in SQLCLR code handled?
· Are all .NET libraries allowed in SQL Server?
· How many types of permission level are there for an assembly?
· In order that an assembly gets loaded in SQL Server what type of checks are
done?
· Can you name system tables for .NET assemblies?
· Are two version of same assembly allowed in SQL Server?
· How are changes made in assembly replicated?
· Is it a good practice to drop a assembly for changes?
· In one of the projects following steps where done, will it work?
· What does Alter assembly with unchecked data signify?
· How do I drop an assembly?
· Can we create SQLCLR using .NET framework 1.0?
· While creating .NET UDF what checks should be done
· How do you define a function from the .NET assembly?
· Can you compare between T-SQL and SQLCLR?
· With respect to .NET is SQL SERVER case sensitive?
· Does case sensitive rule apply for VB.NET?
· Can nested classes be accessed in T-SQL?
· Can we have SQLCLR procedure input as array?
· Can object data type be used in SQLCLR?
· How is precision handled for decimal data types in .NET?
· How do we define INPUT and OUTPUT parameters in SQLCLR?
· Is it good to use .NET data types in SQLCLR?
· How to move values from SQL to .NET data types?
· What is System.Data.SqlServer?
· What is SQLContext?
· Can you explain essential steps to deploy SQLCLR?
· How do create function in SQL Server using .NET?
· How do we create trigger using .NET?
· How to create User Define Functions using .NET?
· How to create aggregates using .NET?
· What is Asynchronous support in ADO.NET?
· What is MARS support in ADO.NET?
· What is SQLbulkcopy object in ADO.NET?
· How to select range of rows using ADO.NET?
· What are different types of triggers in SQl SERVER 2000?
· If we have multiple AFTER Triggers on table how can we define the sequence of
the triggers.
· How can you raise custom errors from stored procedure?
Chapter 4: ADO.NET
· Which are namespaces for ADO.NET?
·
· Can you give a overview of ADO.NET architecture?
· What are the two fundamental objects in ADO.NET?
· What is difference between dataset and data reader?
· What are major difference between classic ADO and ADO.NET?
· What is the use of connection object?
· What are the methods provided by the command object?
· What is the use of “Data adapter”?
· What are basic methods of “Data adapter”?
· What is Dataset object?
· What are the various objects in Dataset?
· How can we connect to Microsoft Access, FoxPro, Oracle etc?
· What is the namespace to connect to SQL Server?
· How do we use stored procedure in ADO.NET?
· How can we force the connection object to close?
· Can we optimize command object when there is only one row?
· Which is the best place to store connection string?
· What are steps involved to fill a dataset?
· What are the methods provided by the dataset for XML?
· How can we save all data from dataset?
· How can we check for changes made to dataset?
· How can we add/remove row is in “DataTable” object of “Dataset”?
· What is basic use of “Data View”?
· What is difference between “Dataset” and “Data Reader”?
· How can we load multiple tables in a Dataset?
· How can we add relation’ s between table in a Dataset?
· What is the use of Command Builder?
· What is difference between “Optimistic” and “Pessimistic” locking?
· How many way’s are there to implement locking in ADO.NET?
· How can we perform transactions in .NET?
· What is difference between Dataset? Clone and Dataset. Copy?
· What’s the difference between Dataset and ADO Record set?
Chapter 5: Notification Services
· What are notification services?
· What are basic components of Notification services?
· Can you explain architecture of Notification Services?
· Which are the two XML files needed for notification services?
· What is Nscontrols command?
· What are the situations you will use “Notification” Services?
Chapter 6: Service Broker
· What do we need Queues?
· What is “Asynchronous” communication?
· What is SQL Server Service broker?
· What are the essential components of SQL Server Service broker?
· What is the main purpose of having Conversation Group?
· How to implement Service Broker?
· How do we encrypt data between Dialogs?
Chapter 7: XML Integration
· What is XML?
· What is the version information in XML?
· What is ROOT element in XML?
· If XML does not have closing tag will it work?
· Is XML case sensitive?
· What is the difference between XML and HTML?
· Is XML meant to replace HTML?
· Can you explain why your project needed XML?
· What is DTD (Document Type definition)?
· What is well formed XML?
· What is a valid XML?
· What is CDATA section in XML?
· What is CSS?
· What is XSL?
· What is Element and attributes in XML?
· Can we define a column as XML?
· How do we specify the XML data type as typed or untyped?
· How can we create the XSD schema?
· How do I insert in to a table that has XSD schema attached to it?
· What is maximum size for XML data type?
· What is Xquery?
· What are XML indexes?
· What are secondary XML indexes?
· What is FOR XML in SQL Server?
· Can I use FOR XML to generate SCHEMA of a table and how?
· What is the OPENXML statement in SQL Server?
· I have huge XML file, which we want to load in database?
· How to call stored procedure using HTTP SOAP?
· What is XMLA?
Chapter 8: Data Warehousing / Data Mining
· What is “Data Warehousing”?
· What are Data Marts?
· What are Fact tables and Dimension Tables?
· What is Snow Flake Schema design in database?
· What is ETL process in Data warehousing?
· How can we do ETL process in SQL Server?
· What is “Data mining”?
· Compare “Data mining” and “Data Warehousing”?
· (What is BCP?
· How can we import and export using BCP utility?
· During BCP we need to change the field position or eliminate some fields how
can we achieve this?
· What is Bulk Insert?
· What is DTS?
· Can you brief about the Data warehouse project you worked on?
· What is an OLTP (Online Transaction Processing) System?
· What is an OLAP (On- line Analytical processing) system?
· What is Conceptual, Logical and Physical model?
· What is Data purging?
· What is Analysis Services?
· What are CUBES?
· What are the primary ways to store data in OLAP?
· What is META DATA information in Data warehousing projects?
· What is multi-dimensional analysis?
· What is MDX?
· How did you plan your Data warehouse project?
· What are different deliverables according to phases?
· Can you explain how analysis service works?
· What are the different problems that “Data mining” can solve?
· What are different stages of “Data mining”?
· What is Discrete and Continuous data in Data mining world?
· What is MODEL is Data mining world?
· How are models actually derived?
· What is a Decision Tree Algorithm?
· Can decision tree be implemented using SQL?
· What is Naïve Bayes Algorithm?
· Explain clustering algorithm?
· Explain in detail Neural Networks?
· What is Back propagation in Neural Networks?
· What is Time Series algorithm in data mining?
· Explain Association algorithm in Data mining?
· What is Sequence clustering algorithm?
· What are algorithms provided by Microsoft in SQL Server?
· How does data mining and data warehousing work together?
· What is XMLA?
· What is Discover and Execute in XMLA?
Chapter 9: Integration Services / DTS
· What is Integration Services import / export wizard?
· What are prime components in Integration Services?
· How can we develop a DTS project in Integration Services?
Chapter 10: Replication
· Whats the best way to update data between SQL Servers?
· What are the scenarios you will need multiple databases with schema?
· How will you plan your replication?
· What are publisher, distributor and subscriber in “Replication”?
· What is “Push” and “Pull” subscription?
· Can a publication support push and pull at one time?
· What are different models / types of replication?
· What is Snapshot replication?
· What are the advantages and disadvantages of using Snapshot replication?
· What type of data will qualify for “Snapshot replication”?
· What is the actual location where the distributor runs?
· Can you explain in detail how exactly “Snapshot Replication” works?
· What is merge replication?
· How does merge replication works?
· What are advantages and disadvantages of Merge replication?
· What is conflict resolution in Merge replication?
· What is a transactional replication?
· Can you explain in detail how transactional replication works?
· What are data type concerns during replications?
Chapter 11: Reporting Services
· Can you explain how can we make a simple report in reporting services?
· How do I specify stored procedures in Reporting Services?
· What is the architecture for “Reporting Services “?
Chapter 12: Database Optimization
· What are indexes?
· What are B-Trees?
· I have a table which has lot of inserts, is it a good database design to create
indexes on that table?
· What are “Table Scan’s” and “Index Scan’s”?
· What are the two types of indexes and explain them in detail?
· What is “FillFactor” concept in indexes?
· What is the best value for “FillFactor”?
· What are “Index statistics”?
· How can we see statistics of an index?
· How do you reorganize your index, once you find the problem?
· What is Fragmentation?
· How can we measure Fragmentation?
· How can we remove the Fragmented spaces?
· What are the criteria you will look in to while selecting an index?
· What is “Index Tuning Wizard”?
· What is an Execution plan?
· How do you see the SQL plan in textual format?
· What is Nested join, Hash join and Merge join in SQL Query plan?
· What joins are good in what situations?
· What is RAID and how does it work?
Chapter 13: Transaction and Locks
· What is a “Database Transactions “?
· What is ACID?
· What is “Begin Trans”, “Commit Tran”, “Rollback Tran” and “Save Tran”?
· What are “Checkpoint’s” in SQL Server?
· What are “Implicit Transactions”?
· Is it good to use “Implicit Transactions”?
· What is Concurrency?
· How can we solve concurrency problems?
· What kind of problems occurs if we do not implement proper locking strategy?
· What are “Dirty reads”?
· What are “Unrepeatable reads”?
· What are “Phantom rows”?
· What are “Lost Updates”?
· What are different levels of granularity of locking resources?
· What are different types of Locks in SQL Server?
· What are different Isolation levels in SQL Server?
· What are different types of Isolation levels in SQL Server?
· If you are using COM+, what “Isolation” level is set by default?
· What are “Lock” hints?
· What is a “Deadlock”?
· What are the steps you can take to avoid “Deadlocks”?
· How can I know what locks are running on which resource?
·

SQLSERVER2008 features

SQL SERVER – 2008 – Management Studio New Features

This article describes the top 5 features of SQL Server Management Studio 2008. With the release of SQL Server 2008 Microsoft has upgraded SSMS with many new features as well as added tons of new functionalities requested by DBAs for long time.
SQL Server 2008 has been released for a year now. In SQL Server 2000, DBA had to use two different tools to maintain the database as well as the query database, specifically SQL Server Enterprise Manager and SQL Server Query Analyzer. With the release of SQL Server 2005 both of these tools are combined into one tool: SQL Server Management Studio. For a while DBA who were fan of Query Analyzer requested to bring it back but as they keep on using SQL Server Management Studio (SSMS) they realized that it was much more convenient if every task related to SQL Server could be accomplished using SSMS. With the release of SQL Server 2008 Microsoft has upgraded SSMS with many new features as well as added tons of new functionalities requested by DBAs for long time.
Let us go over a few of the important new features of the SSMS 2008. The list of SQL Server 2008 SSMS improvements is very long. I have selected my favorite 5 features and we will go over them.
  1. IntelliSense for Query Editing
  2. Multi Server Query
  3. Query Editor Regions
  4. Object Explorer Enhancements
  5. Activity Monitors

IntelliSense for Query Editing

This is my favorite feature so far. If you have used Visual Studio before, this feature may not be new to you. Implementation of IntelliSense is not as advanced as in Visual Studio but it is still very useful and well implemented.
After implementing IntelliSense, DBAs and developers will not have to remember all the syntax or browse online references. IntelliSense offers a few additional features besides just completing the world. You can see those option from SSMS Menu >> Edit >> IntelliSense >> (See the available options)
There are a total of five options available in Edit Menu. I suggest to experiment with all of them while playing with IntelliSense.
  1. List Members
  2. Parameter Info
  3. Quick Info
  4. Complete Word
  5. Refresh Local Cache
If your IntelliSense does not bring up recently created objects, try “Refresh Local Cache” as described above, or press CTRL + SHIFT + R.
IntelliSense is a new feature and it will take some time to get adjusted to it. If any developer does not like this option, it can be turned off from Menu >> Query >> (deselect) Enable IntelliSense.

MultiServer Query

Usually DBA don’t manage only one database; they have many servers to manage. There are cases when DBA has to check the status of all the servers. I have seen one of the DBA who used to manage 400 servers, writing query using XML_CMDSHELL where he wanted to find out what the status of fullback up on all the servers was. In one of the recent consultancy job, when I had to find out if all the three servers were upgraded with Services Packs (SP), I ran a query to find version information on all the three instance separately in three windows.
SSMS 2008 has a feature to run a query on different servers from one query editor window. First of all make sure that you registered all the servers under your registered server. Once they are registered Right Click on server group name and click New Query as shown in the image below.
Now in the opened query window run the following query (you can find it in the sample code for this article):
SELECTSERVERPROPERTY('Edition') AS Edition,SERVERPROPERTY('ProductLevel') AS ProductLevel,SERVERPROPERTY('ProductVersion') AS ProductVersion
Query above will give the result shown in the image below. Note that we have only three columns in the SELECT but our output contains four columns. The very first column is the “Server Name” and it is added by SQL Server to indentify rows belonging to a specific server.
If all of the above servers are registered with “central server” – the option which is right below it, other administrators can also register to those entire servers by simple registering one central server.

Query Editor Regions

This feature exists in many programming languages already but now it is newly introduced in SSMS 2008. The reason I am highlighting this feature is because there are cases when T-SQL code is longer than hundreds of lines and after a while it keeps on getting confusing.
The regions are defined by the following hierarchy:
  1. From first GO command to next GO command.
  2. Statements between BEGIN – END, BEGIN TRY – END TRY, BEGIN CATCH – END CATCH
  3. Multiline statements
In the following code snippet I have reported an example which has five coding regions (you can find it in the sample code for this article). I have made small comment besides them describing their region type.
CREATE PROCEDURE MyTest -- Region Type 1AS
BEGIN 
-- Region Type 2SELECT 1BEGIN -- Region Type 2SELECT 2;SELECT * -- Region Type 3FROM sys.objects;SELECT * -- Region Type 3FROM sys.columns;SELECT 3;END
END
GO 

Regions can be collapsed as well as expanded by clicking the small sign of ‘-’ or ‘+’ besides them. The following image shows a fully expanded region code snippet and a fully collapsed code snippet.
If there is any single-line statement, it does not qualify for a coding region.

Object Explorer Enhancements

Object Explorer Detail initially looks the same as the previous version but when right clicked on the bar with labels it reveals what it can do. This feature looks the same as the Vista OS folder option but when looked at how it is implemented for SQL Server data, it is really amazing. Object Explorer Detail view can be enabled by either going to Menu >> View >> Object Explorer Detail or pressing F7.
In Object Explorer Detail the new feature is Object Search. Enter any object name in the object search box and the searched result will be displayed in the same window as Object Explorer Detail.
Additionally, there are new wizards which help you perform several tasks, from policy management to disk monitoring. One cool thing is that everything displayed in the object explorer details screen can be right away copied and pasted to Excel without any formatting issue.

Activity Monitors

This feature is totally revamped in SSMS 2008. When opening “Activity Monitor” it shows a screen similar to the following image.
There are four graphs 1) % Processor Time, 2) Waiting Tasks, 3) Database I/O, 4) Batch Requests/Sec
Additionally, there are four tabs which also reflect some statistics of the above four graphs 1) Processes, 2) Resource Waits, 3) Data File I/O, 4) Recent Expensive Queries. Clicking on the tables will expand the tabs as shown in the following image.
All the four tabs provide very important information, however the one which I refer most is ‘Recent Expensive Queries’. Whenever I find my server running slow or having any performance related issues my first reaction is to open this tab and see which query is running slow. I usually look at the query with the highest number for Average Duration. The Recent Expensive Queries monitors only show queries which are in the SQL Server cache at that moment.

Summary

There are lots of new features of SSMS 2008. The ones I have listed today are the most prominent and my personal favorites.