Monday, November 12, 2007

Getting User Session information in SQL server 2005

In SQL server 2005 if you want to check all SQL server sessions following is the command for viewing this;

1 . select * from sys.dm_exec_sessions

But the above command will show the user sessions and as well as the system sessions, if you want to only see the user connections then following is the command;

2. select * from sys.dm_exec_connections

you can also get the session id from the below command and match it with the session_id column of the 2 or 1 command for viewing the specific session information.

3. Select @@SPID

Sunday, July 22, 2007

Back from Vacations

I was on my Annual Vaccations from 29 June to 21 July to my Home Town (Obviously Karachi;)). Weather was kind of a rainy over there and had also enjoyed heavy rain fall. it was a very nice trip except for some unusual and annoying power outages and bad political conditions in the country (which is always there). I am planning to post some picninc experience in my coming blogs (if i get time ;)).

Wednesday, June 13, 2007

SQL 2005- Online Indexing

In SQL Server 2005 Enterprise Edition we can create an index with option ONLINE, this option states whether the underlying tables and indexes will be available for queries and data modification while indexing operations are taking place. we can define its settings to OFF or ON:

while OFF Table locks are applied for the duration of the index operation. Clustered index operations acquires a schema lock, which prevents all user access to the underlying table for the duration of the index operation. Nonclustered operations acquire a shared lock on the table that allows for read operations but prevents data modification.

While ON Table locks are not held for the duration of the index operation. SQL Server will first acquire an intent share lock, which allows queries and data modifications. Then SQL Server acquires a shared lock at the start of the index operation and quickly releases it. If a nonclustered index is being created, SQL Server will acquire a shared lock again at the end of the operation. If a clustered index is being created or dropped, or a nonclustered index is being rebuilt, SQL Server acquires a schema modification lock at the end of the operation. ONLINE can’t be set to ON for indexes created on local temporary tables (tables whose names start with the # character).

Monday, June 11, 2007

Silver Light - Microsoft Implementation of RIA

My previous blog was about Google Gear- RIA (Rich Interactive Application) implementation from Google. Silverlight is Microsoft RIA implementation. According to Microsoft "Silverlight™ is a cross-browser, cross-platform plug-in for delivering the next generation of .NET based media experiences and rich interactive applications for the Web. Silverlight offers a flexible programming model that supports AJAX, VB, C#, Python, and Ruby, and integrates with existing Web applications. Silverlight supports fast, cost-effective delivery of high-quality video to all major browsers running on the Mac OS or Windows."

"Silverlight will enable higher quality and better applications in the browser," says Microsoft director of product management Forest Key. "Silverlight is a factored version of .NET that is optimized for the Web and simple deployment. It carries with it proven technology, access to a variety of languages for development, such as JavaScript, VB, C#, Ruby and Python, WPF [Windows Presentation Foundation] support for controls and code-reuse, AJAX integration, and more. We are providing a highly integrated set of tools that facilitate new levels of collaboration between designers and developers and allows them to build amazing experiences while addressing the 'lost in translation' issue that is so common at most organizations."

Silverlight is also trying to eliminate various Flash deficiencies by offering much higher quality video. Microsoft says that Silverlight supports up to 720p video--1280 x 720 resolution much higher then Flash. And unlike Flash, Silverlight won't require any expensive back-end servers for companies wishing to rollout the technology also Silverlight supports all major Web browsers, including Internet Explorer, Firefox, and even Apple Safari, which runs only on the Mac.

Silverlight uses vector graphics for higher quality, Microsoft says, and can be used to display text, graphics, video, and video with text and graphic overlays. It will work with existing Web technologies such as Apache, PHP, JavaScript, and XHTML. Microsoft is also creating various Expression tools for creating and deploying Silverlight content, though these will be Windows-only.

Currently not enough documentation is present on SilverLight but there are some white papers present on Microsoft site discussing architecture and overview of SilverLight. Also there are number of videos present on Microsoft site featuring silver light implementation by different clients for different solutions.

Following are some useful links;

Silverlight Architecture:
Silverlight Site:
Silverlight Demo:
BBC Radio Demo:

Google in Microsoft Boundaries- Google Gear

Microsoft the ultimate and undisputed king of Desktop world is enjoying its dream spell for the past 10 years; on the other hand Google the "Innovator" is continuously releasing Internet centric software, based on fresh ideas and user demands such as Google Map, Google Desktop, Google Blogger, and lots of other Googlies. So far both empires have their boundaries defined and emperors were playing within it. Google Desktop search was the first attempt of Google penetration in Microsoft boundary which was not successful as it was countered by more powerful Microsoft Desktop search. Now Google is ready for a new attempt with its new weapon named as Google Gear! So what is Google Gear? A free, open-source multi-platform JavaScript application programming interface (API) that lets Web applications work offline. Below are the words from Google Representative

"With Google Gears, we're tackling a key limitation of the browser in order to make it a stronger platform for deploying all types of applications and enabling a better user experience in the cloud," said Eric Schmidt, CEO of Google, in a statement. "We believe strongly in the power of the community to stretch this new technology to the limits of what's possible and ultimately emerge with an open standard that benefits everyone."

Google hopes Gears will become the standard for adding offline capabilities such as data storage, application caching, and multithreading to online applications.

David Mitchell Smith, Gartner web analyst, said that "The idea of taking Web applications offline is big," he said. While Google Gears can be viewed as a competitive move against Microsoft, he said that's not the only valid frame of reference.

Google Gears is also a threat for rich Internet applications. "Rich clients become less compelling the more the Web applications continue to grow," said Smith from Google. "Ajax has certainly taken a bite out of the opportunities that RIA developers thought they had."

Following are three Key features of Google Gear;
  1. A local server, to cache and serve application resources (HTML, JavaScript, images, etc.) without needing to contact a server.
  2. A database, to store and access data from within the browser.
  3. A worker thread pool, to make web applications more responsive by performing expensive operations in the background

Google Gear is currently compatible with following set of browsers;

  • Apple Mac OS X (10.2 or higher) o Firefox 1.5 or higher
  • Linux o Firefox 1.5 or higher
  • Microsoft Windows (XP or higher) o Firefox 1.5 or higher o Internet Explorer 6 or higher

Following are some useful links related to Google Gear

Google Gear:
Sample Tutorial:
Sample Applications:

Sunday, June 10, 2007

WSS 3.0 Application Templates

You can download WSS 3.0 Application templates for creating scenario sepecific sites and solutions.

Some of these templates have to be deployed on Site level and some at server level targeting different scenarios.

Following are thier lists;

Site Admin Templates Board of Directors Business Performance Reporting Case Management for Government Agencies Classroom Management Clinical Trial Initiation and Management Competitive Analysis Site Discussion Database Disputed Invoice Management Employee Activities Site Employee Self-Service Benefits Employee Training Scheduling and Materials Equity Research Integrated Marketing Campaign Tracking Manufacturing Process Management New Store Opening Product and Marketing Requirements Planning Request for Proposal Sports League Team Work Site Timecard Management

Server Admin Templates Absence Request and Vacation Schedule Management Budgeting and Tracking Multiple Projects Bug Database Call Center Change Request Management Compliance Process Support Site Contacts Management Document Library and Review Event Planning Expense Reimbursement and Approval Help Desk Inventory Tracking IT Team Workspace Job Requisition and Interview Management Knowledge Base Lending Library Physical Asset Tracking and Management Project Tracking Workspace Room and Equipment Reservations Sales Lead Pipeline

There are currently 40 templates available. Following is the reference site;

SQL 2008

SQL 2008 CTP has been released, following is the link; I will be posting further information on it in my coming blogs.

Tuesday, May 1, 2007

MOSS 2007 Guidelines for Performance optimization and Capacity Planning

MOSS 2007 has some limitations in terms of performance. These limitations and guidelines have to be followed in order to maximize MOSS performance and for avoiding any unpredictable behaviors or supportability issues.

Following are the details of performance guidelines along with their objects affected. This information will be handy for MOSS capacity planning and architecture design and also for checking product supportability.

The following table lists the recommended guidelines for site objects.

Site object

Guidelines for acceptable performance


Scope of impact when performance degrades

Site collection

50,000 per content database

Total farm throughput degrades as the number of site collections increases.


Site collection

150,000 per Web application

This limit is theoretical, and is dependent largely upon:

· Performance of the database server on which the configuration database resides.

· Performance of the Web servers in the farm.

· Network bandwidth between the Web servers and the database server.

This is not a hard limit, and assumes a single database server. Your environment may not be able to host this many site collections per Web application. Distributing content databases across additional database servers can increase the effective limit of the number of site collections per Web application. You should perform testing to determine the actual effective limit in your environment.


Web site

250,000 per site collection

You can create a very large total number of Web sites by nesting the subsites. For example, 100 sites, each with 1000 subsites, is 100,000 Web sites. The maximum recommended number of sites and subsites is 125 sites with 2,000 subsites each, for a total of 250,000 sites.

Site collection


2,000 per Web site

The interface for enumerating subsites of a given Web site does not perform well as the number of subsites surpasses 2,000.

Site view


5 million per library

You can create very large document libraries by nesting folders, using standard views and site hierarchy. This value may vary depending on how documents and folders are organized, and by the type and size of documents stored.



2,000 per view

Testing indicates a reduction in performance beyond two thousand items. Using indexing on a flat folder view can improve performance.

List view

Document file size

50MB (2GB max*)

File save performance is proportional to the size of the file. The default maximum is 50 MB. This maximum is enforced by the system, but you can change it to any value up to 2 GB.

Library, file save performance


2,000 per Web site

Testing indicates a reduction in list view performance beyond two thousand entries. For more information about large lists, see White paper: Working with large lists in Office SharePoint Server 2007 [ ] .

List view

Field type

256 per list

This is not a hard limit, but you might experience list view performance degradation as the number of field types in a list increases.

List view


2,000 per document library

4,096 per list

This is not a hard limit, but you might experience library and list view performance degradation as the number of columns in a document library or list increases.

Library and list view

Web Part

50 per page

This figure is an estimate based on simple Web Parts. The complexity of the Web Parts dictates how many Web Parts can be used on a page before performance is affected.


Managed path

20 per Web application

20 managed paths is a soft limit. Managed paths are cached on the Web server, and CPU resources are used to process incoming requests against the managed path list. You should test for performance before exceeding 20 managed paths in a single Web application.

Web application

The following table lists the recommended guidelines for people objects.

People object

Guidelines for acceptable performance


Users in groups

2 million per Web site

You can add millions of people to your Web site by using Microsoft Windows security groups to manage security instead of using individual users.

User profile

5 million per farm

This number represents the number of profiles which can be imported from a directory service, such as Active Directory, into the people profile store.

Security principal

Approximately 2,000 per ACL (Access Control List) on any securable object (scope)

The total size of the ACL on scopes can be no larger than 64kb. Because each security principal is approximately 32 bytes in size, there can be no more than approximately 2,000 security principals or less for each scope.  If this limit is reached, indexing of items in that scope, and all items below that scope, to fail.

Also, because SharePoint Groups are expanded during the indexing process, having more than 2,000 users or Directory Groups in a SharePoint group and using that group for securing scopes may cause indexing of items secured with these groups, and all items below them, to fail.

This limit only occurs when Windows Integrated Authentication is utilized.

The following table lists the recommended guidelines for search objects.

Search object

Guidelines for acceptable performance


Search indexes

One per SSP

Maximum of 20 per farm

Office SharePoint Server 2007 supports one content index per SSP. Given that we recommend a maximum of 20 SSPs per farm, a maximum of 20 content indexes is supported.

Note that an SSP can be associated with only one index server and one content index. However, an index server can be associated with multiple SSPs and have a content index for each SSP.

Indexed documents

50,000,000 per content index

Office SharePoint Server 2007 supports 50 million documents per index server. This could be divided up into multiple content indexes based on the number of SSPs associated with an index server.

Content sources

500 per SSP*

This is a hard limit enforced by the system.

Start Addresses

500 per content source*

This is a hard limit enforced by the system.


1,000,000 per SSP

This is the tested limit.


200 per site

This is a recommended limit per site. We recommend a maximum of 100 scope rules per scope.

Display groups

25 per site

These are used for a grouped display of scopes through the user interface.

Crawl rules

10,000 per SSP

We recommend a maximum 10,000 crawl rules irrespective of type.


15,000 per site

We recommend a maximum of 10 Best Bets and five synonyms per keyword.

Crawled properties

500,000 per SSP

These are properties that are discovered during a crawl.

Managed properties

100,000 per SSP

These are properties used by the search system in queries. Crawled properties are mapped to managed properties. We recommend a maximum of 100 mappings per managed property.

Authoritative pages

200 per relevance level

This is the maximum number of sites in each of the four relevance levels.

Results removal


This is the maximum recommended number of URLs that should be removed from the system in one operation.

Crawl logs


Number of individual log entries in the crawl log.

The following table lists the recommended guidelines for logical architecture objects.

Logical architecture object

Guidelines for acceptable performance


Shared Services Provider (SSP)

3 per farm (20 per farm maximum)



5* per farm

The number of zones defined for a farm is hard coded to 5.

Web application

99 per SSP

This limit includes the number of Web applications on child farms consuming resources on this SSP.

Internet Information Services (IIS) application pool

8 per Web server

Maximum number is determined by hardware capabilities.

Site collection

50,000 per Web application


Content database

100 per Web application


Site collection

50,000 per database


The following table lists the recommended guidelines for physical objects.

Physical object

Guidelines for acceptable performance


Index servers

1 per SSP*


Application servers running Excel Calculation Services

No limit


Query servers

No limit

Because 100 content databases are supported for each query server, the number of query servers required per farm is based on the number of content databases in the farm. For example, if there are 500 content databases in your farm, you will need at least 5 query servers.

Web server/database server ratio

8 Web servers per database server

The scale out factor is dependent upon the mix of operations.

Web server/domain controller ratio

3 Web servers per domain controller

Depending on how much authentication traffic is generated, your environment may support a greater number of Web servers per domain controller.

*Source Microsoft TechNet

Wednesday, April 4, 2007

Microsoft SoftGrid Application Virtualization

Microsoft SoftGrid virtualization is a virtualization solution designed for making applications available just like electricity. This concept changes applications into network services that no longer need to be installed. User can access their application by simply clicking application icon on their desktop and they will get their application from soft grid virtual application servers. I am comparing this solution with Citrix Access suite. Citrix solution provides web experience for all applications. This solution is providing windows application experience to the end-user and as well as web experience by using terminal services. The beauty of this solution is that application will run locally but in a protected mode thanks to the system guard which restricts OS from altering application dlls and other system files. Any existing application can convert in to SoftGrid enabled application by passing it through sequencer, a program records application interaction with OS and make it compatible for system guard. Application running through softgrid will use application code and DLL on demand. DLLs will be provided by virtual application server as soon as they needed. For further details, check out this site

Tuesday, April 3, 2007

Developer posters for Office 2007

Microsoft has published Moss2007 posters for developer community. The set of poster contains following items. 1. Microsoft Office 2007 Road Map. 2. Microsoft InfoPath Object Model. 3. Windows SharePoint Services 3.0 Platform. Must have for any office 2007 developer. Check it out.

Groove portal is live now

Microsoft has released its Groove 2007 portal for developer community. This portal will contain all developer resources and architecture references for Groove 2007. Check it out

Wednesday, January 10, 2007

MS Office Communications Server 2007 protocols

Following are the protocols with thier descriptions which are using in Office Communications Server 2007. SIP Session Initiation Protocol (SIP) is an Internet Engineering Task Force (IETF) standard signaling protocol. Office Communications Server 2007 uses SIP to initiate, manage, and terminate interactive sessions between one or more participants during instant messaging, data collaboration, on-premise audio/video conferencing, or telephony on an IP-based network. HTTP HTTP is a standard request/response protocol used for communication between clients and servers. In Office Communications Server 2007, HTTP is used for communication between the Focus and conferencing servers, download of Address Book Server updates to Office Communicator clients, and download of meeting content on users’ computers. CCCP Centralized Conference Control Protocol (CCCP) is a custom protocol in Office Communications Server 2007. CCCP is used for the exchange of the conference creation information and the control commands between Office Communicator clients and Office Communications Server 2007. PSOM Persistent Shared Object Model Protocol (PSOM) is a custom protocol in Office Communications Server 2007 that is used for transporting on-premise Web conferencing content such as conference ID, associated security keys, expiration time, and user roles and privileges. SRTP Secure Real-Time Transport Protocol (SRTP) is an IETF standard protocol that provides encryption, message authentication, integrity, and replay protection to the relayed Real-Time Transport Protocol (RTP) data. In Office Communications Server 2007, SRTP is used for the secure transport of audio and video content to various media devices such as microphones and speakers. RTCP Real-Time Control Protocol (RTCP) is an IETF standard protocol. Office Communications Server 2007 uses RTCP in conjunction with SRTP to convey information about the signal quality of an on-premise audio/video conferencing session among the various media devices.

More on Unified Communication platform

Today we had a very good session with Danie Odendaal Microsoft solution specialist-portals & Collaboration for Middle East and Africa. He was presenting us the vision of Microsoft in terms of Unified Communication platform. He gave us a demo in which he dialed to MS exchange and listened voice mails, calendar entries and contacts. It is very good to see that now Microsoft speech technology is so much improved, we were able to give our commands easily without having accent problem. Also Ms is supporting number of languages but Arabic is not yet supported and it will be available in the second quarter of 2007. We got to know that office communication server (OCS) will be available in two versions, standard and enterprise. Standard will be the same as live communication server 2005 with some major enhancement. OCS enterprise will include MS live meeting bundled for live meeting and video conferencing. We also saw couple of IP phone models created by Microsoft partners. One of which has OCS client built in (not remember exact models) and one is connected to PC by USB. OCS client model can show you all the details such as dialed calls, missed calls, OCS users list with their status, conferencing facility and many other feature of OCS. USB phone don’t have any interface, it will connect with OCS client installed on PC and one can control it from there. If PC is off your calls will redirected to the exchange voice mail. We will be getting more information from Microsoft on unified communication.

Thursday, January 4, 2007

Downloadable book for Sharepoint 2007

A great book for Sharepoint 2007 deployment project. Contains all upgrade scenarios and do's and don'ts. Must require before beginning any Sharepoint 2007 deployment.