Wednesday, July 8, 2009

My Virtual Lab Gear (Developer)

As developer/architect if not already you would eventually want a place where you want to be able to load up all the necessary Microsoft stack of servers and applications and tinker with it. If you look the laptops that we all consultants carry around, they do not have all the horse power to run bunch of servers and all the versatility you would need. (Although the new Dell lap tops seems to show off support for more RAM like 16GB and more Processing power, but you will end up paying dearly). Then I started looking at the Server hardware.

Before we delve in to more server story, lets look at what is that we want in the lab system?

  • First of all I guessing you are thinking virtualization. Lets look at our options:
    • Although I liked the VMware ESX its lot more expensive (~$5K+ that is way to much money for me to shell out from my personal pocket).
    • So I choose the new Microsoft Hyper-V. That means you will be installing the Windows Server 2008. Then I chose the standard install and not the new CORE (With CORE, you will need to remotely manage your server and I don’t have an alternative Windows 2008 or Vista, at the movement there was no support for remote managing Windows Server 2008 CORE from Windows XP ) More on this later…
    • If you are a VMWare Workstation fan and have a license (VMware Workstation is not that expensive, I got it at discount price for ~$120+) you can install the Workstation software on your server hard ware alternatively.functionalities.
    • The why not MS VPC? Well there is no SNAP Shot option among other missing features.
  • You want to be able to have full fledged domain with DC, Exchange server, SQL Server, your specific technology services, a development box etc.
  • Then you want to be able to generate lot of snap shot, so you would need ton of cheaper hard disk space to keep the snapshots away.
  • You want more processers or core and more RAM to be able to host more machine instances.
  • Ok these are some very high level needs

Let look at my research details (Took about 6 months to finally order my hardware stuff).

I looked up many server/PC hardware and finally realized, either you end buying the server based hardware, bare bones or all custom. It all depends on how much you are willing to spend. Well I had cap from our finance controller (Yep my wife).

  • Server Hardware:
    • You can look up many pre build rack type servers, both from sources like Anadtech, NewEgg, Cnet etc.
    • At the time I was researching the cost was around $2500+ for the base models.
    • Then I started looking at barebones machine. Most of these lacked what I was looking for. (More RAM like in the range of 8-16GB and type of RAM supported, More CPU Core/Processors support, better FSB, support for port types.
    • Bottom line, the pre build server hardware were expensive.
    • I don’t want to spend ton of money on just the server hardware with base CPU and RAM.
    • You will need to spend a ton for RAM and other stuff (We will cover that below)
    • I don’t have to build a Class A server.
  • Mother board.
    • Then I started researching the motherboard market.
    • Lot of the motherboards are developed for the more PC enthusiastic oriented, specifically for gamers.
    • So you will see the South bridge and north bridge with type of Chip set supported and there capabilities etc.
    • This was all irreverent for what I wanted to get out of.
    • But these PC based motherboards are lot cheaper, like under $100!
    • So I dwelled more in to going with PC based mother board and building it up.
    • First choose which CPU you want to the mother board to support for. I choose AMD, they are lot cheaper than Intel.
    • Then the size matters. there are ATX and micro ATX (smaller). Refer to below The box for more details.
    • I researched the mother board that is more stable, (read the reviews) and is been in the market for while.
    • Some of these had in build RAID support with SATA ports. Be aware that some of these SATA ports are RAID only supported, you cannot simply have them connect to your external ESATA port and try to hook up an ESATA external hard drive. I ended up buying additional ESATA card and source it out to hook up my external ESATA hard disk.
    • Looked up other below relating factors.
  • RAM
    • For the mother board I looked I also looked at the maximum RAM supported
    • For the RAM I looked at type of possible speeds.
    • At the same time researched on the available RAM module denominations.
    • At the time I saw PC motherboards with maximum 16GB support but with the slots available and the compatible RAM modules available there was no way to get 16GBs loaded. So I concluded that I have to stick with the 8GB Max for which I saw many options.
    • So I ended up choose a mother board and the RAM that matched with the highest speed and maximum and still fit my budget.
  • Hard Drive
    • Now a days hard drives are very cheep.
    • So I chose a 10,000 RPM hard drive (these are usually smaller to just support the base OS boot) and it was about 120GB
    • The choose additional 7200RPM SATA drive with 1TB, to store all my VM stuff.
  • Graphics CARD:
    • Although not very relevant, I choose the basic with at least 512MBr on board RAM, and look out for the resolutions you are expecting. Weather you want to use multiple LCDs. I am sticking with just the host LCD for now.
    • Although my mother board supported dual graphics card, its not needed for what we are trying to do.
  • Network Card:
    • You could buy an additional network card to support for your virtual network alone. Look for Gigabit.
  • Power Supply:
    • For all the pieces you are buying, calculate power (the wattage).
    • I think for the most part around 500-800Watts is just sufficient for what we are doing.
    • Look for connector types you would need for all the peripherals you are buying and need power.
  • Other peripherals
    • You can choose any type of DVD drive, read write with light scribe as well. I think the market is just beginning with this technology, I am still sticking with my external hard drive with ISO images that I can directly mount. So its really your choice and they are cheaper.
    • Floppy drive is not necessary unless you want to create a Windows Recovery Disk.
  • The box:
    • I choose the Tower style. This would take less space on the ground to keep. Also these are lot less noisy that the rack style and I don’t have a rack to place it in.
    • With tower there are ATX and micro ATX sizes.
    • I choose ATX as I could place any mother boards and gives me more room inside to attach various components you would need to buy and more room to ventilate.
    • Look for all the front and back fan options, ability to open and close the box, be prepared to be able to open and close as you would need to until you get everything settled which will be for long time.
    • And again read the reviews.
  • Keyboard, monitor, mouse.
    • You can choose what ever you like and is not relevant in this discussion.

Here is what I bought for my year old server from

Product DescriptionPrice
COOLER MASTER Centurion 5 CAC-T05-UW Black Aluminum Bezel , SECC Chassis ATX Mid Tower Computer Case - Retail53.99
Item #: N82E16811119068
Seagate Barracuda ES.2 ST31000340NS 1TB 7200 RPM SATA 3.0Gb/s 3.5" Internal Hard Drive - OEM289.99
Item #: N82E16822148278
Western Digital Raptor WD1500ADFD 150GB 10000 RPM SATA 1.5Gb/s 3.5" Hard Drive - OEM169.99
Item #: N82E16822136012
Arctic Silver 5 Thermal Compound - OEM5.99
Item #: N82E16835100007
Sony Optiarc Black IDE DVD-ROM Drive Model DDU1615/B2s - OEM17.99
Item #: N82E16827101131
ABS Tagan BZ Series BZ700 700W ATX12V / EPS12V SLI Ready CrossFire Ready 80 PLUS Certified Modular Active PFC Patent Piperock ... - Retail179.99
Item #: N82E16817814015
MSI K9A2 Platinum AM2+/AM2 AMD 790FX ATX AMD Motherboard - Retail154.99
Item #: N82E16813130136
Patriot Viper 4GB (2 x 2GB) 240-Pin DDR2 SDRAM DDR2 1066 (PC2 8500) Dual Channel Kit Desktop Memory Model PVS24G8500ELK - Retail ( Two Quantity)229.98
Item #: N82E16820220299($114.99 ea)
AMD Phenom 9850 BLACK EDITION 2.5GHz Socket AM2+ 125W Quad-Core Processor Model HD985ZXAGHBOX - Retail235
Item #: N82E16819103249









If you research now, you may end up with entirely new set of products as market changes every day and there are new and better choices available. Hope this helps get your that dream project started…

I will cover in the next post how I build up the server …(rather building it still)

Monday, July 6, 2009

Batch Script for creating Test Site Collections [MOSS 2007] (Developer)

As a SharePoint developer there may be an occasion that you wanted to quickly create a SharePoint Site Collections of all the basic templates and test something. You might get to it by having some one or in a spare time (not that we have any) give it a shot and start creating some sites. Well now that you have taken the time (pain) to do so, your server hits a problem (Believe me I have been experienced with random SharePoint development environment anomalies, that some took time to figure out and fix it or simply roll back-Yep I use VMWorkstation my favorite) . Gosh what do you do now? Wish you had backed up the DB (Ya you could have done that if it was a small DB). If not you had it all scripted it out.

Well, I had the very same need quite frequently and ended up writing a small (well rather long) batch script. This script will create all the site collections based on all the basic WSS 3.0 site templates. It even goes one level further by creating all set of template based site collections for each of the basic set of template root site collections.

Remember to upgrade the email id and the login on the following lines (line numbers 13 and 14 )

SET ownerlogin=yourdomain\OwnerLogin

Click below to download the script file.

Auto rename Upgrade.log [SPS 2003-MOSS 2007 Upgrading] (Developer)

If you are planning for in upgrading your SharePoint 2003, you are probably first trying to give it shot in the test or development environment. That would lead to running several test upgrade trials until you perfect your upgrade. Every time you perform your upgrade, MOSS 2007 will generate the Upgrade.log (under the 12\Logs hive).

Every subsequent Upgrade activities will use the same Upgrade.log and will continue to append the log to the same Upgrade.log. Apart from upgrade jobs, the same Upgrade.log is also used by activities such as the initial steps used by upgrade configuration “Set target web application” , installation of hot fixes and Service Packs which are observed by the MOSS as an Upgrade job.

This will lead to a bloated Upgrade.log file (depending on your upgrading content log can vary) which would be much heavier for slow for the Notepad.exe (default) to load and do a quick check.

In order to simplify, I ended up writing a simple batch script that would rename the Upgrade.log file to something else ( I used appending date and time to the file name). There by after every unit of test I did I would simply run my RenameUpgradeLog.bat script. This would give me an empty Upgrade.log. Remember, you will need an existing Upgrade.log file for the Upgrade job kick in, otherwise you will see the appropriate error.

Anyway, here is the script I have used, you can paste the below text and make up your own filename renaming script.

:: ------------------------------------------
:: Author : Rajesh Agadi
:: Date Version Update
:: 2/25/2008 1
:: -----------------------------------------
ECHO ">>>Begin Script Rename Upgrade Log"

SET WSS12Hivepath=C:\Program Files\Common Files\Microsoft Shared\web server extensions\12

::----------------------Get Current date time for filename-------------
for /f "tokens=1,2" %%u in ('date /t') do set d=%%v
for /f "tokens=1" %%u in ('time /t') do set t=%%u
if "%t:~1,1%"==":" set t=0%t%
set timestr=%d:~0,2%-%d:~3,2%-%d:~6,4%-%t:~0,2%-%t:~3,2%
::---------------------Rename old Update.log--------------------------------
ECHO "Renaming Upgrade.log to >>Upgrade-%timestr%.log<<..."
COPY "%WSS12Hivepath%\LOGS\Upgrade.log" "%WSS12Hivepath%\LOGS\Upgrade-%timestr%.log"
ECHO > "%WSS12Hivepath%\LOGS\Upgrade.log"

ECHO "<<<END Script Rename Upgrade Log"

Application Configuration Guidance (Part II) [MOSS 2007]

As SharePoint Architect, often I have to deal with various MOSS 2007 installation and configuration scenarios for each of the clients I have consulted. Eventually I ended up with my quick cheat sheet. Eventually they resulted with two sets of information, one is more focused on Architecture Definition (Part I) and then one that is focused on Application Configuration focused.

Most of the information I have collected and put together are from various Microsoft produced content. It was just easier for me to quickly look it up and have a very high level idea of the focused area.

1. Prior to install
  • This section assumes you have performed the capacity planning for the MOSS Farm and have selected appropriate MOSS server(s) and configurations.
  • Consider following prior to installation:
  • There is no direct upgrade from a stand-alone installation to a farm installation.
  • Installing Office SharePoint Server 2007 on a domain controller requires additional configuration steps.
  • The Run WWW in IIS 5.0 isolation mode check box is only selected if you have upgraded to IIS 6.0 on Windows Server 2003 from IIS 5.0 on Microsoft Windows 2000. New installations of IIS 6.0 use IIS 6.0 worker process isolation mode by default.
  • You must enable ASP.NET 2.0 on all Office SharePoint Server 2007 servers.
  • Server Farm or Database access account
  • The server farm account is used to access your configuration database.
  • It also acts as the application pool identity for the SharePoint Central Administration application pool.
  • It is the account under which the Windows SharePoint Services Timer service runs.
  • The SharePoint Products and Technologies Configuration Wizard adds this account to the SQL Server Logins, the SQL Server Database Creator server role, and the SQL Server Security Administrators server role.
  • The user account that you specify as the service account must be a domain user account, but it does not need to be a member of any specific security group on your Web servers or your back-end database servers.
  • Specify a user account that is not a member of the Administrators group on your Web servers or your back-end servers.
  • SQL Server service account
  • This account is used as the service account for MSSQLSERVER and SQLSERVERAGENT

  • Installation Account
  • This account needs to be a member of the Administrators group on every server on which you install Office SharePoint Server 2007.
  • You can, however, remove this account from the Administrators group on the servers after installation.
2. Installation Guidelines

Recommended Order of installation

1. Central Administration Site

  • The Central Administration site be installed on an application server.
  • In a server farm that includes more than one application server, install the Central Administration site on the application server with the least overall performance load.
  • If your farm will have an application server, install Office SharePoint Server 2007 on that server first. This also installs the Central Administration site.
  • All your front-end Web servers.

2. The index server (if using a separate server for search queries and indexing).

  • It is not recommended that you install Office SharePoint Server 2007 on an index server first.
  • In farms with more than one index server, you should stop the Central Administration service on all index servers.
  • This service is used for the Central Administration site and is not required on index servers.
  • Stopping this service on index servers can help avoid URL resolution problems with indexing.
  • In the other hand, you must be sure that this service is started on the server that hosts the Central Administration Web site, even if that server is also an index server. You do not need to stop this service for installations where the farm has only one index server.

3. The query servers, if separate from the index server.

  • To configure more than one query server in your farm, you cannot configure your index server as a query server.

4. Other application servers (optional).

3. Other installation and configuration guidelines
  • You should disable the Windows SharePoint Service Web Application service on all servers that are not serving content, especially index servers. On the other hand, you must be sure that this service is enabled on the servers that are serving content.
  • All of the Web servers in your server farm must have the same SharePoint Products and Technologies installed. For example, if all of the servers in your server farm are running Office SharePoint Server 2007, you cannot add to your farm a server that is running only Microsoft Office Project Server 2007. To run Office Project Server 2007 and Office SharePoint Server 2007 on your server farm, you must install Office Project Server 2007 and Office SharePoint Server 2007 on each of your Web servers. To enhance the security of your farm and reduce the surface area that is exposed to a potential attack, you can turn off services on particular servers after you install SharePoint Products and Technologies.
  • You must use the Complete installation option on all computers you want to be index servers, query servers, or servers that run Excel Calculation Services
  • If you place a query server beyond a firewall from its index server, you must open the NetBIOS ports (TCP/User Datagram Protocol (UDP) ports 137, 138, and 139) on all firewalls that separate these servers. If your environment does not use NetBIOS, you must use direct-hosted server message block (SMB). This requires that you open the TCP/UDP 445 port.
  • If you want to have more than one index server in a farm, you must use a different Shared Services Provider (SSP) for each index server.
  • Run Setup and then the SharePoint Products and Technologies Configuration Wizard on all your farm servers. Do this on all farm servers before going on to create a Shared Services Provider (SSP).
  • We recommend that you run Setup on all the servers that will be in the farm before configuring the farm.
  • You can add servers to the farm at this point, or after you have created and configured an SSP. You can add servers after you have created and configured an SSP to add redundancy, such as additional load-balanced Web servers or additional query servers. It is recommended that you run Setup and the configuration wizard on all your application servers before you create and configure the SSP.
  • Because the SSP configuration requires an index server, you must start the Office SharePoint Server Search service on the computer that you want to be the index server, and configure it as an index server before you can create an SSP. Because of this, you must deploy and configure an index server before other servers. You can choose any server to be the first server on which you install Office SharePoint Server 2007. However, the Central Administration Web site is automatically installed on the first server on which you install Office SharePoint Server 2007.
  • You can configure different features on different servers. The following table shows which installation type you should use for each feature set.

Server type

Installation type

Central Administration Web application

Complete or Web Front End

Application server (such as Excel Calculation Services)


Search index server


Search query server


Web server

Web Front End (subsequent servers must join an existing farm) or Complete

If you choose the Web Front End installation option you will not be able to run additional services, such as search, on the server.

  • When you install Office SharePoint Server 2007 on the first server, you establish the farm. Any servers that you add you will join to this farm.
  • Setting up the first server involves two steps: installing the Office SharePoint Server 2007 components on the server, and configuring the farm. After Setup finishes, you can use the SharePoint Products and Technologies Configuration Wizard to configure Office SharePoint Server 2007. The SharePoint Products and Technologies Configuration Wizard automates several configuration tasks, including: installing and configuring the configuration database, installing Office SharePoint Server 2007 services, and creating the Central Administration Web site.
  • In farms with more than one index server, you should stop the Central Administration service on all index servers. This service is used for the Central Administration site and is not required on index servers. Stopping this service on index servers can help avoid URL resolution problems with indexing. On the other hand, you must be sure that this service is started on the server that hosts the Central Administration Web site, even if that server is also an index server. You do not need to stop this service for installations where the farm has only one index server.
  • Before stopping the service on the index server, make sure that the service is running another server.


Hardware Related

(I will keep this updated as I find more relevant information….)

Architecture Definition Guidance (Part I) [MOSS 2007]

As SharePoint Architect, often I have to deal with various MOSS 2007 installation and configuration scenarios for each of the clients I have consulted. Eventually I ended up with my quick cheat sheet. I ended up putting together two sets of information, one is more focused on Architecture Definition this post and then another one that is focused on Application Configuration focused (Part II). This is Part I of the series focused on Architecture. Most of the information I have collected and put together are from various Microsoft produced content. It was just easier for me to quickly look it up and have a very high level idea of the focused area.

In this post I have tried defining architecture for MOSS server implementations. This post covers the major technical approach topics and highlights the topics that need to be covered, and what kind of information needs to be collected, and reviews some of the known issues and workarounds.

1. MOSS Implementation Objective
  • Identify Objective of MOSS Implementation.
  • These objectives can be some or combination of the following:
    • Deployment Mode
      • Intranet
      • Extranet
      • Internet
    • Features
      • Web Content Management
      • Information Worker Collaboration.
      • Records Management.
      • Content Publishing
      • Workflows
    • Identify Content Types
      • Structure
      • Un Structured
    • Identify need for Governance and Manageability.
    • Identify Backup and Restore needs.
2. Environment Technical Requirements
2.1 Performance
  • Identify User Response Times requirement by using below table:


Response Time

Response Characteristics


3-5 seconds

User response times can slow to this rate without issue


1-2 seconds

The average user response time target


<1 second

For organizations whose businesses demand speed

  • Identify User Load based on below table:

User load

Request rate

Supported users


20 requests per hour. An active user will generate a request every 180 seconds.

Each response per second of throughput supports 180 simultaneous users and 1,800 total users.


36 requests per hour. An active user will generate a request every 100 seconds.

Each response per second of throughput supports 100 simultaneous users and 1,000 total users.


60 requests per hour. An active user will generate a request every 60 seconds.

Each response per second of throughput supports 60 simultaneous users and 600 total users.


120 requests per hour. An active user will generate a request every 30 seconds.

Each response per second of throughput supports 30 simultaneous users and 300 total users.

  • Based on the user response time that most closely matches your client’s requirements; determine the throughput target based on the number of users.
  • Single-server deployment can capably serve up to 1,000 users, 500 users is the fewest listed.

Total users

Slow (RPS)

Recommended (RPS)

Fast (RPS)





























  • You can estimate the performance of your starting-point topology by comparing your topology to the starting-point topologies.
  • The recommended starting point for most Windows SharePoint Services 3.0 deployments is at least two server computers:
    • Server 1: Front-end Web server and search server computer
    • Server 2: Dedicated SQL Server computer
  • Next determine if you need to scale your starting-point topology to meet your performance and capacity goals.
2.2 Availability

2.2.1 Uptime

  • To determine availability first determine the Uptime, and then choose the appropriate Server topology.
  • Uptime can be measured based on the following table.

Acceptable uptime percentage

Downtime per day

Downtime per month

Downtime per year


72.00 minutes

36 hours

18.26 days


14.40 minutes

7 hours

3.65 days


86.40 seconds

43 minutes

8.77 hours


8.64 seconds

4 minutes

52.60 minutes


0.86 seconds

26 seconds

5.26 minutes

2.2.2 Server Farm

  • To deploy a high-availability MOSS solution, you must deploy a server farm.
  • Comparing minimal Server Farm topologies:







Two Web Servers with Search on one server

One Dedicated SQL Server

Fewer Servers

Increases the overall performance of Web Server

Limited availability with no Database Redundancy

Use this topology when performance is more important than data redundancy.


One Web Server with Search server

Two SQL Server Clustered or Mirrored

Fewer Servers

Ensure availability of critical data

Limited availability with temporary loss of user access

Use this topology when availability of critical data is important than loss of user access.


Two Web Servers with Search on one server

Two SQL Servers Clustered or Mirrored

Ensures availability of both Web Servers and Data.

Need More servers

Use this topology when both performance and availability of critical data is important


Two Web Servers

One Search Server

Two SQL Servers Clustered or Mirrored

Optimizes the performance of the front-end Web server computers by offloading search to a dedicated server

More servers needed than the above server topologies

Most common highly available server farm topology

  • Use above chart to determine the most appropriate Farm Topology for your client.
2.2.3 Load Balancing
  • If Web server redundancy is required then plan for web server choosing Load Balancing technology.


How it works?




Runs on Web Servers by routing TCP/IP requests.

Free with Windows Server.

Handles up to 32 Nodes

Consumes fewer resources on Web Servers..


Uses network to route traffic across web front-ends

Does not affect Web-Front End resources. Provide more than one port load balancing.

Expensive and can be complex to setup.

DNS Round-robin

DNS server round robins for each request among predefined DNS names by canonical order.

Use existing DNS server.

DNS server does not have any knowledge of Server availability.

This method is not recommended for MOSS.

  • When using MS-NLB be aware of the following:
    • When network card teaming is implemented, NLB may require special configurations.
    • When Virtual technology is used investigate for NLB compatibility.
  • When using Hardware load balancing be aware of the following:
    • SSL port load balancing
    • Load balancing multiple ports for the farm.
    • Note the number of VIPs that load balancer can support and plan accordingly.
  • While building your environments for Development, QA, UAT and Production, plan for considering Production equivalent load balancing in other environments to avoid the risk of Production only unique configuration.
2.2.4 Scale Out or Up
  • To support increased user load scale out your topology by adding more Front-end Web Servers.
  • For better performance maintain 1:8 ratios of DB Server to number of Front-End Web Servers.
  • To support increased data load scale up your database server.
  • Monitor following Performance counters to determine the need for scale out or up:

Performance Counter


Web Server

Database Server

% Processor Time


% Memory Utilization

Application Pool

Identify correct application pool to monitor.

Identify peak memory usage, assign peak memory plush 10% to the application pool.


2.2.5 Redundancy
  • Following server roles can be configured for redundancy
    • Query
    • Excel Calculation Services
    • Office Project Server 2007
  • Following server roles cannot be configured for redundancy
    • Index (Each server crawls different content)
    • WSS 3.0 Search
  • Windows SharePoint Services 3.0 search application role includes both the search and indexing components that cannot be divided.
    • Windows SharePoint Services 3.0 search is required to provide full text search of Help.
    • However if you are deploying MOSS-which is the most often case-using MOSS search should overcome this restriction.
  • MOSS Index and SSP relation:
    • The index role is associated with a Shared Services Provider (SSP).
    • The index role builds one index per SSP.
    • One index server can be associated with multiple SSPs.
    • However, indexes across SSPs cannot be combined.
    • You can deploy multiple index servers to improve capacity. In this case, each index server is associated with different SSPs.
    • If you are deploying a Office SharePoint Server 2007 farm, we recommend that you use the Office SharePoint Server 2007 query server and index server roles. This allows you to scale the query component out, achieving redundancy of the content indexes.

2.3 Performance Improvement
  • Consider implementing various caching mechanism support by MOSS. Refer below to choose appropriate chancing.

Caching Method



Output caching and cache profiles

Individual page level

Ideal for heavily accessed Web sites that do not need to present new content frequently.

Object caching

Individual Web Part control, field control, and content level

Includes cross-list query caching and navigation caching

Disk-based caching for Binary Large Objects (BLOBs)

Individual BLOB level and caches images, sound, movies, and code

Supports .gif, .jpg, .js, .css, and other image, sound, and code files that are stored as binary large objects

  • Consider using SharePoint test data load tool (WSSDW.exe ). This tool can help you to load test data based on an XML configuration file. The tool also supports to delete the test data from MOSS.

2.4 Capacity Planning
  • Consider following for storage requirements :
    • Database Server Disk Space requirements
    • Search Server Disk Space requirements.
    • Web Server Disk Space requirements.
  • Refer to below table for estimating disk space across your server Farm


Size Estimate


Database Server

Web Server

Search Server

OS Files


Swap file

Same as RAM

SQL Install


Log Files

Based on # of DBs and settings

Config DB

< 1.5GB

Content DB(s)

All Content DBs size x 1.3

Consider the initial content and x1.3.

Consider additional space if version is enabled.

.Net 1.1


Consider if you have components that are .Net 1.1 frame work based and will not be migrated to .Net 2.0


.Net 2.0


.Net 3.0


Temporary ASP.NET Files


WSS 3.0


MOSS 2007




WSS Logs


If Usage Reports is enabled, by default the logs will be stored under this location. Consider more space if you are going to use the default space.

You can also specify other drive locations.

Content Index

All Content DBs size / 2

Free Space


  • For future growth at least consider twice the size of initial content DBs.
  • Consider minimum of 25-30% free space for each disk volume.
2.5 Recommended Guide lines for MOSS objects




Site collections



Web sites

Site collection


(sub) Web sites

Web site



Web site




10 M


Doc Library

2 M




Document size


2 GB

Indexed Documents (MOSS)


50 M

Search Scopes (MOSS)

Site Collection


# Profiles (MOSS)


5 M



IT Max

Cap Guideline

Site Collections /DB




Database Size/DB


100 GB

Databases/SQL Instance



Database Size/SQL Instance



Child Portals/Farm (Web Apps)




Full Portals/Farm (SSPs)



App Pools/Server



Worker Processes/Server

1 per 800MB RAM

1 per 500MB RAM

Site Collection Max Quota


50GB (DB)

File Upload Size




2.6 Backup/Restore

  • Backup Components:
    • SQL Server Databases.
    • Files and state from all the Farm Servers.
    • Files and directories include: IIS Metabase, Web,.config, Custom assemblies, Customizations such as Master pages, Styles sheets, Javascript, Themes, Site and List Definitions. Logs from IIS, Events and SharePoint.
    • Index files.
  • Backup tools and methods:
    • SQL Server 2005 native Backup and Restore, Database Mirroring or Log Shipping, VSS Writer.
    • Backup restore from SharePoint Central Administration
    • Site Collection Level backup and Restore using STSADM, SharePoint Designer
    • Migration API
    • Data Protection Manager
  • SharePoint Recycle Bin
  • Third Party tools
    • EMC Backup Manager for SharePoint
    • AvePoint
    • CommVault
    • NeverFail
    • Quest
3. Hardware Requirements


Stand Alone/Web Server

Application Server


Dual processors that are each 3 GHz or faster

Dual processors that are each faster than 2.5 GHz


More than 2 GB

4 GB


NTFS file system–formatted partition with 3 GB of free space plus adequate free space for your Web sites

NTFS file system–formatted partition with 3 GB of free space plus adequate free space for your data storage requirements


DVD drive or the source copied to a local or network-accessible drive

DVD drive or the source copied to a local or network-accessible drive


1024 × 768 or higher resolution monitor

1024 × 768 or higher resolution monitor


· 56 Kbps or faster connection between client computers and server

· For connections between computers in your server farm, 1 gigabit per second (Gbps) connection

· 56 Kbps or faster connection between client computers and server

· For connections between computers in your server farm, 1 gigabit per second (Gbps) connection

4. Software Requirements

  • Office SharePoint Server 2007 (any editions)
  • Following Windows Server 2003 editions with SP1 or later:
  • Windows Server 2003, Standard Edition
  • Windows Server 2003, Enterprise Edition
  • Windows Server 2003, Datacenter Edition
  • Windows Server 2003, Web Edition
  • Database
  • SQL Server 2000 with SP3a or later or SQL Server 2005 with SP1 or later (any editions)
  • Some advanced features may require SQL Server 2005 Analysis Services SP1 or later.
  • Note that SQL Server full editions cannot be installed on Windows Server 2003, Web Edition

5. Licensing Requirements

  • Apart from Windows Server and SQL Server licenses, you need MOSS licenses as following:
    • For intranet hosting:
      • MOSS Server License per server in the Farm.
      • Client Access License as necessary for your client.
    • For internet hosting:
      • This install requires MOSS Internet licensing (MOSSFIS)
      • No Client Access Licensing is required.
    • Now both Server License and Internet License can be combined and installed under single deployment where client wants to use the same deployment as Intranet and Internet hosting.
6. Service Accounts
  • MOSS supports more granular set up of account for various services, application pools, search craw and so on.
  • You can also use single universal account to both install and configure every account aspect of MOSS install and configuration.
  • Below are the recommended individual accounts recommended.

For Production

For Stage

Example Account

Example Account

Account Permission




Domain User

Installation and configuration of the MOSS 2007 servers



Domain User

Search Service Account and Search Access



Domain User

SSP and App Pool Account



Domain User

Used to install and configure the MOSS 2007 Database



Local SQL Server account

SQL Server Service Account

7. Physical Architecture
  • When designing environments for MOSS deployment, along with Production environment consider implementing Development and Staging/QA/UAT Environments.
  • For the Development and Staging/QA/UAT environments consider Virtual technology.
  • Based on the Production environment, try to simulate as much possible in Staging environment, by matching the servers in the Farm and server topology, Load Balancing configurations, DNS, Security settings etc.
  • Consider recoding your hardware details in table format as below.

Server Name






























  • For large deployments pre-calculate the storage requirements that may be required to support your Staging/QA environments.
  • Identify data file copy across network, SQL backup/restore time estimates.

8. Technical Issues and Constraints

  • Max List Items
    • Product team recommends that a single list should not have more than 2,000 items per list container.
    • You may be able to manage larger lists to some extent by using views within Office SharePoint Server 2007 that are filtered such that there are never more than 2,000 items returned.
    • The maximum number of items supported in a list with recursive folders is 5 million items
  • Search
    • Search in Windows SharePoint Services 3.0 is designed to work only with NTLM. More specifically, the index component in Search requires NTLM. Therefore, in order for Search to be used with any other authentication mechanism, there are certain workarounds that are needed.
    • Search on https is not support. But by building a custom HttpModule that replaces the https with http in the query string.
    • Also be aware that Search in Windows SharePoint Services does not work with FBA and custom authentication providers.
  • Windows NT 4.0 Domain
    • Office SharePoint Server 2007 requires Active Directory directory services for farm deployments. Therefore Office SharePoint Server 2007 cannot be installed in a farm on a Windows NT 4.0 domain
  • Not supported Server Topologies
    • If the query role is deployed to the same server that hosts the index role, the query role cannot be deployed to any other server computers. This is because the index role recognizes that the query role is on the same server and, consequently, does not attempt to propagate the index.
  • x64 bit Platform Considerations
    • .net 1.1 is not installed by default on x64 bit Windows. If you need to run components based on .net 1.1, then IIS needs to be switch to run in 32-bit mode.
    • So check for applications that may be depended on .net 1.
    • Check for availability of x64 bit iFilters for the customer document types.
    • You can mix and math x32 bit and x64 bit servers in a singe server farm.
  • Application Level Issues and Constraints:
    • Identify customer implementation specific Issues and constraints.
    • For a given feature identify current usage model if one exists.
    • Identify integration issues if integration with LOB apps, such as security, speed, impact of accessing.
    • Ask if consistence is important over flexibility for certain features.

(I will keep this updated as I find more relevant information….)