Saturday, November 18, 2006

SQL Server 2005 vs. Oracle 10g -Part1

1- Information sources Background

1.1 Performance Tuning Corporation Background
Before getting into more details into this point, it is important to highlight who this company is. Performance Tuning Corporation is one of the largest corporates allover the world, who are interested in tinning the performance of the IT system for the major IT systems products. Its customers list contains; Oracle, HP, Dell, US Navy, US Marines, US Air Force, Verizon, Microsoft, and more…

1.2 Computer World Magazine
Computer world magazine is one of the most prestigious IT Magazines allover the world. It is more than 35 years old, and its editorial board consists of many very prestigious, very famous IT consultants.
1.3 Intelligent Enterprises Magazine
It is one of the top two magazines all over the world talking in BI and data warehouses. Its editorial board includes Ralph Kimball (the father of Data Marts), and Barry Devlin the builder of the oldest data warehouse known all over the world.

2-VLDB Enterprise Features

The most important features that any decision maker is highly interested to look for when taking a decision of buying certain VLDB (Very Large DataBase) are; availability, reliability, scalability, security, and performance. For VLDBs any weakness found in other features may affect the day-to-day operation of the system administrators, DB specialist, developers, or even the application for a while but, the weaknesses that could be discovered in the major features listed above here could be fatal as whole for utilizing certain VLDB. In fact, availability, reliability, scalability, security, and performance are the major reasons for any decision maker to use VLDBMS (Very Large DataBase Management System) instead of SDBMS (Small DataBase Management System). Based on that, this paper will concentrate at the beginning on these features.

2.1 Oracle RAC Marketing Materials Claims
Oracle Real Application Clusters (RAC) has been presented by Oracle as the one solution that addresses all scalability, performance, high availability requirements, at a lower cost than any other solution. Oracle claims that RAC running on a cluster provides the highest level of capability in terms of availability, scalability, and low-cost computing. According to Oracle claims, RAC is supposed to provide these benefits:

Availability: If a node in the cluster fails for any reason, Oracle RAC continues running on the remaining nodes. All the applications (users) connected to the failed node are transparently to be completed in 20 seconds.

Scalability: When more processing power is needed, new nodes can be easily added to the cluster, without having to modify the application or the database in any way. The load is redistributed so that it is balanced across all the nodes of the cluster. Oracle 10g R2 RAC supports up to 100 nodes in a cluster.

Cost Savings: : RAC reduces hardware cost by running applications just as efficiently on clusters of small (< 4 CPUs), standardized, low-cost commodity hardware as on the more expensive SMP systems. For example a 16 node cluster of 4 CPUs each costs significantly less than an equivalent 64 CPU SMP machine. There are a number of reasons for the price differential, including the fact that smaller boxes benefit from the economies of scale.2.2 RAC in a More Practical Look vs. SQL Server 2005

The following analysis is based on the Performance Tuning Corporation analytical comparison report:

There have been numerous heated technical debates about whether RAC really works as advertised. In depth technical analysis here maybe difficult to most of the readers to understand that is why the paper will try to unveil facts without getting into deep detailed technical matters.

2.2.1 Availability

Oracle RAC Availability

It is true that RAC offers a good solution for server failures. This solution could be implemented on the low cost commodity servers. This makes some cost reduction on the customer hardware budget (this doesn’t mean that RAC as a clustering solution is a cost saving solution, please refer to the part of the price comparison latter in this paper). The RAC architecture is depicted in figure 1 that is shown below:

Figure1: A typical 4-node RAC configuration

Figure 1 shows a typical 4-node RAC configuration. The Oracle RAC Database Servers run on all the nodes in the cluster. The data resides in the shared storage. All the nodes in the cluster have equal access to all the tables in the database. There is no notion of data being “owned” by any particular node. As a result data does not have to be partitioned, though very often it is partitioned to increase performance. Applications just connect to the RAC cluster, not to a specific node in the cluster; RAC distributes the load evenly across all the nodes of the cluster.

SQL Server Availability

Database mirroring is a new SQL Server 2005 technology for increasing database availability.
Database mirroring ships transaction log records directly from the primary server to a standby server, ensuring that at all times the standby is a mirror image of the primary database. Database Mirroring also quickly fails over to the standby server in the event of the primary server going down for any reason. You can code client applications to automatically redirect their connections so that in the event of a failover, they automatically connect to the standby database. While the precise time to failover depends on a number of factors, it is possible to failover in around 10 seconds (according to Microsoft materials, it could failover in duration between 3-5 seconds, but practical experiences says 10 seconds is more realistic number). Comparing the 10 seconds in SQL Server 2005 with the 20 seconds of Oracle RAC is something notable. The 10 seconds difference of waiting for high availability system may not be acceptable in many business domains users. SQL Server 2005 Database Mirroring does not require proprietary hardware and is easy to set up and manage. Mirroring supports a feature that is called client redirect. Mirroring architecture is shown in the figure below.

Figure 2: The SQL Server 2005 Mirroring Architecture

This feature enables system application to get automatically redirected to the mirrored server transparently if the session is dropped. This doesn’t need any changes to application code. This happens transparently because of that MDAC (Microsoft Data Access Component) is aware of Principal and Mirror servers. Upon initial connect to the Principal server, MDAC caches Mirror name. When client attempts to reconnect, if Principal is available, it connects to it, if not; MDAC automatically redirects connection to Mirror. It is important to mention here that the witness server, that is optionally used to make automatic failover, could be SQL Server Express which is free software. Moreover, the licensing model of Microsoft doesn’t charge for any standby server. Based on this, the standby server don’t requires extra license. There is an important piece of information that should be highlighted here which is that, Oracle claims that one of the most important features in Oracle that it supports clustering while SQL Server doesn’t. This is not true. Oracle has a clustering support because Oracle don’t have its own operating system. This is not the case for Microsoft. SQL Server is a Microsoft Product that runs always on a Microsoft Operating System (Windows). Clustering in Windows is supported by using the Clustering service of the windows. SQL Server doesn’t need to have its own separate extra layer for clustering instead, it integrated with the same vendor operating system to achieve this task without overwhelming the running sever with extra layers
2.2.2 Reliability
Oracle RAC Reliability
RAC by itself offers no protection against disasters or storage failures. RAC is based on shared-data architecture; therefore the storage is a single point of failure. If the storage fails for any reason, the whole cluster fails. Oracle offers DataGuard as the solution to this problem. DataGuard involves having one or more duplicate databases called “Standby” database. “Standby” databases are kept in sync with the “primary” using log-shipping technology. It must be noted that Oracle will charge full price for each “Standy”, so the total cost of an Oracle solution has to be multiplied by the number of standby databases. Away of the costing aspects, installing the Oracle DataGuard solution over the RAC that is installed over the Oracle 10g DBMS itself complicate the management and administration massively. It is widely known for all oracle products that when it comes to integration, Oracle products always suffer from many problems and difficulties.

SQL Server 2005 Reliability

It is apparent from the description above for the SQL Server 2005 mirroring feature architecture that SQL Server 2005 doesn’t work on a shared storage model. This solves the problem of single point of failure that could happen for the RAC solution without using the DataGuard solution. When the primary storage server failure happens the standby server with a complete another storage server failover and continue delivers system availability.

2.2.3 Availability/Reliability Comparison Conclusion

Both SQL Server 2005 and Oracle 10g can deliver a highly available solutions but, “SQL Server with Database Mirroring” can match the high availability capabilities of Oracle 10g RAC—at a substantially lower cost.

The above explanation shows that the Oracle RAC out of the box solutions is less reliable solution than the SQL Server out of the box solution. If DataGuard is added to the formula then, from technical point of view SQL Server 2005, and Oracle RAC delivers highly reliable solutions. It is important to highlight here that the Oracle DataGuard availability is based on a difficult to manage solution (this will be shown later.)

2.2.4 Manageability
Oracle Manageability
According to the Performance Tuning Corporation report, the Oracle RAC is very complex to get managed. The report stated that; RAC is an extremely complex piece of technology. Unless the complexity is reduced by an order of magnitude, RAC falls far short of its promise as a viable technology for the vast majority of database applications. Probably the single biggest reason to avoid RAC might be its complexity. The complexity associated with RAC is documented succinctly in “Real-World Challenges for Oracle RAC Implementation” paper (The paper is available in the following URL: (i.e. linxcel is a famous Oracle partner that is specialized in delivering Oracle and Java Professional services in Europe.)
Here are the main problems in RAC manageability:

RAC requires Application and Schema Design Changes

Contrary to Oracle’s claims, according to many experiences has been that applications (and the associated database schemas) have to be specifically designed (or modified in the case of existing applications) in order to get them to perform on RAC. The nature and extent of the changes depends on a number of factors including the size of the clusters, the nature of the application (OLTP or DW), the speed of the cluster inter-connect and transaction volumes. Very often data has to be partitioned, especially tables that are hotspots.

RAC requires special storage solutions
Oracle RAC cannot run on a regular file system i.e. the file systems that usually ship with operating systems. Oracle RAC either works directly on raw devices or requires a clustered file system. This Includes:
¢ Oracle Cluster File System (OCFS)
¢ Oracle Automatic Storage Manager (ASM)
Due to the inherent complexity of using RAW storage devices, Oracle recommends OCFS or ASM, with more emphasis on ASM lately. While ASM has many interesting capabilities, it is very complex to manage and administer—it is a full-blown instance of Oracle requiring significant DBA time and skills to manage. Furthermore ASM is a proprietary file system; most of the backup & restore, diagnostics, monitoring and performance tuning tools that you are currently using will not work with ASM.

RAC is Composed of Many Components

Actually RAC into itself is composed of many several components:
¢ Global Cache Services (GCS)
¢ Cluster Read Service
¢ Automatic Workload Management
¢ Virtual Internet Protocol
¢ Oracle Cluster Registry

Patching RAC is difficult
Patches for RAC come in two flavors—those that can be applied one node at a time and those that need to be applied to the entire cluster at once. In the former case only the node to which the patch is being applied has to be down; the rest of cluster is functioning. In the latter case the entire RAC cluster has to be shutdown, thereby making the entire database unavailable. An analysis of Oracle’s patches shows the majority of the patches belong to the latter category. In this case Oracle recommends a very complicated technique for “rolling upgrades” that involve two standby RAC clusters connected with Oracle Data Guard.

Tuning RAC is Complex
The complexity of RAC and the numerous moving parts involved in a RAC setup makes it hard to debug and tune. In addition to all the things that a DBA needs to know to tune an Oracle database, with RAC a DBA has to take numerous other factors into account including interconnect traffic, inter-connect latency, pinging of data blocks between nodes, disk I/O for each of the nodes, table hotspots etc. Here is just a partial list of some of the workarounds that Oracle has suggested to get around the performance issues with RAC.
§ Assign transactions with similar data access characteristics to specific nodes, by partitioning users and applications.
§ Create data objects with parameters that enable more efficient access when globally shared.
§ Avoiding sequences as hotspots by creating node-specific staggered sequence ranges.
§ Reduce the number of rows-per-block (RPB) in order to reduce page contention.
§ Use as few indexes as possible to reduce intra-node pinging of index blocks.
§ Pre-allocate space by turning on dynamic space management.
§ Use reverse-key indexes to reduce index-page hotspots. This has the undesirable side-effect of eliminating the ability to use index-scans.
§ Design indexes such that the clustering factor is as close to the number of used blocks as is possible.

The list is based on content from the book “Oracle 10g and Real Application Clusters”. These are very complex tuning recommendations, requiring a deep understanding of the inner-working of the Oracle database management system. The book summarizes the situation quite aptly when it
says, “This may seem perplexing, since some of the suggestions are contradictory”!

SQL Server 2005 Manageability

MSSQL 2005 administration is as simple as every Microsoft product administration with a nice GUI and only a few parameters required a manual change. The major Goals for the SQL Server 2005 manageability focus on some main objectives to achieve. These objectives are listed below:
§ Integrated Management, Rich UI
§ Scale down time/effort for common management tasks
§ Server Transparency
§ Everything to be scriptable

SQL Server has many very easy to use management tools to do whatever administration task you need. This includes;

SQL Server Management Studio

§ This tool delivers integrated management environment for all SQL Server products including;
§ Relational DB
§ Analysis Services
§ Reporting Services
§ Notification Services
§ SQL Mobile
There are many tools that comes with MS SQL Server 2005 for manageability, Performance tuning, security analysis, and troubleshooting and diagnostics.

Manageability Conclusion

According to what is depicted above from much neutral technical comparison it could be discovered without any doubt that MS SQL Server is more manageable than Oracle enterprise solutions.
2.2.6 Scalability and Performance

Scalability is one of the most important enterprise features in any VLDB.
Oracle Scalability and Performance
It would appear that Oracle RAC has the edge here. Oracle 10g RAC R2 can support up to 100 nodes. Oracle does not specify whether there are any limitations on the number of CPUs per node. Therefore, in theory, Oracle RAC can scale beyond 64 CPUs. However, it must be noted that Oracle has not demonstrated publicly that Oracle RAC can scale beyond 64 CPUs. The largest TPC-C benchmark with Oracle RAC has 64 CPUs—a 16 by 4 cluster. The largest RAC installation widely known is a 64-CPU at Amazon, also a 16 by 4 cluster.
Oracle Claims that Oracle can scale out and always concentrate on scaling out rather than scaling-up. The main advantage of the scale-out solution of oracle is that it depends on low cost commodity servers. Oracle tries to promote this, claiming that this is a more cost effective solution (a more detailed look will concentrate on this).

SQL Server 2005 Scalability and Performance

Scaling Up With SQL Server 2005
SQL Server 2005 has proven that it can scale to 64 CPUs on a single SMP server. Interestingly, at some benchmarks, SQL Server 2005 has a better performance and price/performance than Oracle 10g RAC for 64 CPUs as can be seen from the table below.

Table 1 A TPC benchmarks for SQL Server 2005 and Oracle 10g

These two TPC-C benchmarks clearly demonstrate that that on a system with 64 CPUs, SQL Server 2005 can outperform Oracle 10g RAC, and is more cost effective.
It is important here to highlights that today the largest SMP server has 64 processors and can run over 99% of the world’s real-world applications! According to Winter Corp’s Annual Survey9 of the largest databases in production today, the largest OLTP and Data Warehousing database run on SMP servers, not clusters.

Scaling Out with SQL Server 2005
You might still prefer the scale-out architectures for the following reasons.

§ Some companies have standardized on commodity servers (e.g. Plate Servers), refusing to deploy medium or high-end SMP (Symmetric Multi-Processing) servers. Typically these companies have standardized on vendors such as Dell who do not offers servers with more than 4 processors.
§ Some customers have a highly distributed architecture that does not lend itself very well to large centralized SMP servers.
§ Some customers are uncomfortable with the a64 processor limit of SMP servers, even if the servers meet their current requirements. They want to know that their database can scale beyond 64 CPUs if the need arises in some distant future.

SQL Server 2005 offers a choice of scale-out technologies. Unlike Oracle, which is single mindedly pushing RAC as the only viable scale-out architecture, Microsoft has taken a more nuanced approach, offering multiple scale-out technologies. Each of these technologies has its own advantages and disadvantages. You should pick the technology that best meets you business requirements. The following are four scale-out strategies with SQL Server 2005.

§ Service Oriented Database Architecture (SODA)
§ Shared Scalable Database (SSD)
§ Peer-to-Peer (P2P) Replication
§ Data Dependent Routing
Getting in more details regarding these strategies is out of the scope of this context.

Scalability Conclusion
SQL Server is as scalable as Oracle 10g R2. They are peers. At some cases SQL Server can outperform Oracle 10g. Moreover, it delivers scale-up as well as scale-out solution in less cost than Oracle 10g.

2.2.5 Security

This is one of the peaking points for SQL Server 2005 over Oracle 10g. For years Microsoft products have suffered from security issues but, nowadays this doesn’t apply anymore. Microsoft has focused during the last couple of years in increasing the quality all its products from the security point of view. Bill Gates has launched and implemented an initiative to deliver a one week training for all Microsoft Campus developers (20,000 + developers). The training subject was (how to write a secure code). Moreover, Microsoft translates analyze every discovered security hole and learn lessons of it and transform this in a bad programming practices should be prohibited to be done by any Microsoft developer. The following are some very prestigious information sources that made a neutral comparison between SQL Server 2005, and Oracle 10g. As will be seen all of them depicts that SQL Server 2005 is more secured far beyond Oracle, and that one of the major advantages of SQL Server 2005 over Oracle 10g is Security. David Lachfield Paper

David Litchfield who is one of the famous security specialists all over the world who used to criticize Microsoft for its poor security products has written a paper titled “Which database is more secure? Oracle vs. Microsoft”

Figure3: The number of security flaws in the Oracle and SQL Server

According to David’s paper, Figure 3 shows the number of security flaws in the Oracle and MS SQL Server database servers that have been discovered and fixed since December 2000 until November 2006. Each block

Figure 4 flaws that have been discovered by external security researchers in in Oracle 10g R2 and SQL Server 2005

According to David’s paper too, these two graphs indicate flaws that have been discovered by external security researchers in both vendors’ flagship database products – namely Oracle 10g Release 2 and SQL Server 2005. No security flaws have been announced for SQL Server 2005.
David has stated verbally that:

It is immediately apparent from these four graphs that Microsoft SQL Server has a stronger security posture than the Oracle RDBMS. Later at his paper he stated, SQL Server code is more secure than Oracle code. He expected that even if oracle have approached fixing these security bugs they may not be able to finish fixing them before end of 2007 or 2008!!

David said that he think the secret behind this gap between Oracle and SQL in the recent products is the Microsoft’s Security Development Lifecycle which is not as same security oriented as Oracle – SDL. SDL is far and above the most important factor. A key benefit of employing SDL means that knowledge learnt after finding and fixing screw ups is not lost; instead it is ploughed back into to the cycle. This means rather than remaking the same mistakes elsewhere you can guarantee that new code, whilst not necessarily completely secure, is at least more secure than the old code.
He added that, Oracle keep making the same basic mistakes and that some of their security “fixes” indicate that they don’t understand the problems they’re trying to fix.

Note: The Whole paper is downloadable from the following URL: The Computer World Business Magazine

On 19th October 2006 the 35+ years old very prestigious IT business magazine-ComputerWorld- has published an article titled (Let's give Microsoft SQL Server some credit) In which the author has declared that at the same time that SQL Server proofs his powerful security level, Oracle began to suffer massively from security vulnerabilities. He rooted this to the difference in the SDLC of Microsoft as well as Oracle. The article is available for public at the following web address: The Common Vulnerabilities and Exposures (CVEs) Website (

CVE is A list of standardized names for vulnerabilities and other information security exposures - CVE aims to standardize the names for all publicly known vulnerabilities and security exposures
The content of CVE is a result of a collaborative effort of the CVE Editorial Board. The Editorial Board includes representatives from numerous security-related organizations such as security tool vendors, academic institutions, and government as well as other prominent security experts. The MITRE Corporation maintains CVE and moderates Editorial Board discussions.

At the time of writing this paper, the reported common CVEs for SQL Server 2005 are just four while they exceeds 40 for Oracle 10g. This could be validated through checking the following URLs;

SQL Server

Important Note:
It is important to mention here that these two URLs contain all known CVEs for both products across all their versions.
Security Conclusion

According to all reports, papers, and articles above, with a high level of confidence it is clear that SQL Server is more secured far beyond Oracle 10g. Some neutral parties like the famous security expert; David Lachfield, the prestigious IT Magazine; Computer World, and Enterprise Strategy Group considered Microsoft, with proper execution, years ahead of Oracle in producing secure, and reliable database solutions.

2.2.7 Cost

In spite of the fact that Oracle claims that its hardware requirements costs less, when it comes to calculate the overall budget that is needed for an overall oracle solution (on less expensive commodity servers) you will find it more expensive than the overall MS SQL Server 2005 solution. It is true that the single high-end SMP servers that MS SQL Server 2005 requires is more expensive than the commodity servers that oracle requires but, let us calculate the hole payment:

Oracle: $40,000 (Oracle Price) + $25,000 (RAC Price) + $18,000 (the cheapest commodity server available) then, The total of Oracle solution on the Least expensive commodity server is 78,000$ per processor

MS SQL Server 2005: $25,000 (SQL Server Price) + $50,000 (The most expensive known high-end server) then, the total of SQL Server solution on the most expensive high-end server is $75,000 per processor.

Important note:

We are using the publicly available list prices for both Oracle 10g and SQL Server 2005. It is quite likely that academic as well as governmental accounts don’t pays full price for either product. However that does not change the relative pricing differential between Oracle and SQL Server 2005.
Cost Conclusion
Oracle on the cheapest commodity server is more expensive than SQL Server solution
If the claim that the Oracle required hardware solution costs less considered true then, it should be phrased as it cost less for Oracle benefit not the customer benefit. Simply because, Oracle, not the customer, who gets the difference and more.

Wednesday, November 08, 2006

SQL Server 2005 vs. Oracle 10g -An important introduction

This is something I have decided to do because I thought it is must and obligation on us as a Microsoft society to do.

A month a go, my friends in Microsoft Egypt has asked us to help them in comparing SQL Server 2005 to Oracle 10g as neutral consultants. They asked us to do so transparently, and honestly. This was because of that there was an important regional account who was about to take a decision to oracle 10g. I have accepted the request and began to prepare for this meeting not only as a technician but also as an academic guy. Actually, this makes difference because academic guys evaluate things by a rational and more scientific way, and according to non fuzzy results. I decided that this comparison should be posted to be used by many people who search for such a comparison. Actually, I have found during my work a whitepaper that has been previously published by an Oracle Partner Called WisdomForce.
For people who have read this paper, or may find it and read it later, please take in considerations the following facts:

1-The most recent version of this paper(version 1.2) has been published in November 2004 (when SQL Server was in Beta phase as much as i remember it was in beta2 phase). Based on this, many of the criticism that is done to SQL Server 2005 was done for the beta version that has massively enhanced in final release.

2-As evidence that this paper is not accurate into it is criticism is that it is talking about some SQL Server Obsolete products like DTS!!!!

3-Another evidence that this paper was not talking about SQL Server 2005 that it mentioned clearly that they are talking at specific points about SQL Server 2000, and even 7.0 sometimes!!!! (Why?!)

4-Wisdomforce has promised to launch another updated version later but they haven't up till the time of writing these lines.

Actually if you searched the Web, most probably you will find people talking about this white paper while it is not that accurate. Moreover it doesn't really talks about SQL Server 2005. Instead, it may talk about earlier version of this wonderful product.

According to all of that I decided to post our neutral prepared white paper in a series. For those who are interested to read it all, you can download the .PDF version of it that I will make it available at the end of this series.

Wednesday, November 01, 2006

VSTS At a Glance

Actually this is a composed of my first post about VSTS.

I have received a request from My friend, sherif Eltony (The ISV Evangelist in Microsoft Eastern Mediterranean) to make this composed version so, it could be read faster and easier.
I hope that it fulfill this requirement:
1-The Visual Studio Team Edition for Software Developers

Nowadays, software development tasks get more complicated. In a complicated development environment, developers need to build their application by easy way in order to be concentrating on the complicated business logic. Moreover, they need some tools that help them to test their applications before delivering it to the testing team.

This Edition empowers the developers with the following capabilities:
-Class Designers: for Building class graphically instead of writing it by code.
-Unit Testing: Generate necessary code for automating the test without the need to make the developer lose his time to make these tests manually. Unit tests can get its test data from a database. This feature can test lots of scenarios at no time.
-Code Coverage: Unit tests can insure that the known scenarios have been passed by the written code. But it doesn’t ensure that the scenarios covered the whole code. Code coverage can show the tested code colored. The fully tested code will be shown one color. The partially tested in a second color, while the not tested code is shown in a third color. This feature can eliminate the bugs that arise after deploying the solutions on the customer side. Moreover it can lead to a 100% tested code.
Static Code Analysis: Static code analysis can help team to write better object oriented code. Better standardized code, better code style that obeys to Microsoft design best practices, ..etc.
Performance Analyzer:
Performance Analyzer can help developer to optimize the performance of their application by reporting which functions are called most of the times, which function take long time to get executed,…etc.
2-Visual Studio Team Edition for Software Testers

This Client is directed to the testers. Using this edition of VSTS tester can perform the previously explained Units testing, Code Coverage, Static Code Analysis, and Performance Analyzer. In addition to that, this edition integrates with separate module which is Load agent module that enables the tester to perform what is called load test. Load tests are very important in order to test how my website will behave in front of huge amount of users. This feature is very important for corporations who build web systems that are exposed to customers for public on the web.
3- The Visual Studio Team Edition: Software Architect:

The problem that usually arises for architects is that each of the two architect types (Application, and infrastructure) works in an isolation of the other. The Application architecture may build his application to work on certain operating system (e.g. Win2003 SP1) while the infrastructure architect is not designing his network for this operating system (Use Win 2000). This may lead to a lot of deployment problems that couldn’t be caught before the deployment time. Problems of this kind may lead to disasters that may result in the whole project failure. The Visual Studio Team Edition for Software architects solve the architectural problems like this by empowering the architect with a graphical designer that make both architects capable of building his architecture graphically and then validate both of them based on the other.

Visual Studio Team Edition for DB Professional

Actually, this is the most recently released version of VSTS edition. This edition is delivering a broad range of capabilities to the database professionals. This includes:
Managing Database Objects and Schemas as Version Controlled Items
Importing Schemas from a existing DB
Comparing Schema changes
Generating Data
Compare Data between Different Data Sources
Generating DB Unit Tests

4-Microsoft Team Foundation Server
The team foundation server is the server through which all clients can communicate. For project managers it is very important to utilize the Team foundation Server (TFS) capabilities. These capabilities permit many important features for the team this includes:
Source and Version Control
This enables more control over the source code. This control can secure the source code in a centralized secured server, not on the client computers of developers.
Check In Policy
The Project Manager can define polices for all work that will be performed by certain team within certain project. This may include not being able to upload the source code unless passing certain tests. Moreover, it can enforce developers to apply design best practices to their code.
Build Automation
By this feature, the team can have at each night a complete build for the project that yields to a stable version of the system everyday. Build history reports are generated too.
Team Reporting
The Team Foundation server empowers the project manager with more control on the team by presenting a large set of predefined reports about the project status, remaining work, number of bugs,….etc.
Work Item Monitoring
Each Work Item could be tracked by means of its status. Who has gotten assigned with? Whether is it bug, risk, or regular task?
Team Portal
Once a team has been created on the team foundation server, a new portal is automatically generated to enable different members to communicate together. The Portal contains the required documentation, and the project status reports.
Process implementation
Team foundation Server can help the team to apply the MSF CMMI standard process to be able to get certified as CMMI team fast. It provides them with the documentation.
Extensibility capability
Tam foundation server is open for process modification. If certain team has different process than the MSF process to apply, the team can define the process by simple way.
Moreover, if the project manager needs to see more reports about the performance of the team, it is not a hard task to build his own extra reports.

Microsoft Excel and Microsoft Publisher Support

Excel and Project are the 4th, and 5th clients that could work within the Team System. With their easy to use interface new assignments could be granted for different team members.


Visual Studio Team System (VSTS) can help any software team by the following ways:

1-Empowers the manager with a good control level on what is going on the project. This happen through delivering a rich status reports about the project tasks

2- It helps the team members to increase the quality of their products by applying advanced testing techniques. e.g. Units tests, Web Tests, and Load Test

3- It helps to increases the overall team quality by enforcing process standards that can lead to getting certified as CMMI.

4- It increase the productivity of the overall team by establishing an automated communication channels between them subsequently saving their times to perform their architectural, development, and testing tasks.

5-VSTS is the least product by means of cost and Total Cost of Ownership (TCO) in comparison to other tools of other companies (i.e. IBM Rationale Clear Case Suite).