Wednesday, June 6, 2012

Where are the Documents or files we uploaded or attached stored in SharePoint?


Many of them know, those files are stored under SharePoint Content Database. But on which database table, on which format?
For that, i did a quick research on that, and here i give those results,
  • The AllDocStreams table in SharePoint Content Database stores the Document Contents.
  • The Contents of the document are stored in Content Column in the AllDocStream table.
  • The Content column is the Image Datatype, (stores in the format of Binary).
I provide a simple SQL Query to retrieve the Document List Name,File Name, URL, and the Content (Binary Format)
SELECT AllLists.tp_Title AS ‘List Name’,
AllDocs.LeafName AS ‘File Name’,
AllDocs.DirName AS ‘URL’,
AllDocStreams.Content AS ‘Document Contnt (Binary)’ 
FROM AllDocs 
JOIN AllDocStreams 
ON 
AllDocs.Id=AllDocStreams.Id 
JOIN AllLists 
ON
AllLists.tp_id = AllDocs.ListId

Tuesday, June 5, 2012

How to Choose a Web Host


by Christopher Heng, thesitewizard.com


What are some of the things you should look for when choosing a web host? The criteria for choosing a free web host and a commercial web hosting solution are slightly different although they do overlap. Since thesitewizard.com caters to people who might be looking for either of these types of hosting, I will deal with each of these in turn. If you are only interested in one of these types, you can simply skip to the appropriate section. I have written these sections to be as independant of the other as possible.

Choosing a Free Web Host

  1. Advertising

    Most free web hosts impose advertising on your website. This is done to cover the costs of providing your site the free web space and associated services. Some hosts require you to place a banner on your pages, others display a window that pops up everytime a page on your site loads, while still others impose an advertising frame on your site. There is really no hard and fast rule which is to be preferred: some people hate a pop-up window, other webmasters dislike having to stuff banner codes onto their pages, and many people cannot stand an advertising frame (which may cause problems when you submit your website to search engines). Whichever method is used, check that you're comfortable with the method.
    Note that free web hosts without forced advertisements aren't necessarily good news. Without a viable means to recover the costs of running their server, such hosts close with alarming frequency.
  2. Amount of web space

    Does it have enough space for your needs? If you envisage that you will expand your site eventually, you might want to anticipate future expansion. Most sites use less than 5MB of web space. Indeed, at one time, one of my other web sites, thefreecountry.com, used less than 5MB of space although it had about 150 pages on the site. Your needs will vary, depending on how many pictures your pages use, whether you need sound files, video clips, etc.
  3. FTP access

    FTP is the most common method used by people to transfer their web pages and other files from their computer to their web host's computer, so that it can be viewed by anyone in the world.
    Some free hosting providers only allow you to design your page with their online site builder. While this is useful for beginners, do you have the option to expand later when you become experienced and their online page builder does not have the facility you need? Online site builders also have significant disadvantages, a subject which I discuss at length in my article comparing online site builders with standalone web editors.
    FTP access, or at the very least, the ability to upload your pages by email or browser, is needed. Personally, I feel FTP access is mandatory, except for the most trivial site.
  4. File type and size limitations

    Watch out for these. Some free hosts impose a maximum size on each of the files you upload (including one with a low of 200KB). Other sites restrict the file types you can upload to HTML and GIF/JPG files. If your needs are different, eg, if you want to distribute your own programs on your pages, you will have to look elsewhere.
  5. Reliability and speed of access

    This is extremely important. A site that is frequently down will lose a lot of visitors. If someone finds your site on the search engine, and he tries to access it but find that it is down, he'll simply go down the list to find another site. Slow access is also very frustrating for visitors (and for you too, when you upload your site). How do you know if a host is reliable or fast? If you can't get feedback from anyone, one way is to try it out yourself over a period of time, both during peak as well as non-peak hours. After all, it is free, so you can always experiment with it.
  6. PHP and/or Perl

    (In case you're wondering: What is PHP and Perl?)
    It's quite possible for a website to work even without PHP or Perl access. For example, you can always use one of the many free script hosting services available that provide counters, search engines, forms, polls, mailing lists, etc, without requiring you to dabble with Perl or PHP scripts.
    However if you really want to do it yourself, with the minimum of advertising banners from these free providers, you will need either PHP or Perl access. Note that it is not enough to know they provide PHP or Perl access: you need to know the kind of environment your scripts run under: is it so restrictive that they are of no earthly use? For PHP scripts, does your web host allow you to use the mail() function, which allows your scripts to send email? For Perl scripts, do you have access to sendmail or its workalike?
  7. Bandwidth allotment

    Nowadays, many free web hosts impose a limit on the amount of traffic your website can use per day and per month. This means that if the pages (and graphic images) on your site is loaded by visitors beyond a certain number of times per day (or per month), the web host will disable your web site (or perhaps send you a bill). It is difficult to recommend a specific minimum amount of bandwidth, since it depends on how you design your site, your target audience, and the number of visitors you're able to attract to your site. In general, 100MB traffic per month is too little for anything other than your personal home page and 1-3GB traffic per month is usually adequate for a simple site just starting out. Your mileage, however, will vary.

Choosing a Commercial Web Host

  1. Reliability and speed of access

    Not only should the web host be reliable and fast, it should guarantee its uptime (the time when it is functional). Look for a minimum uptime of 99%. In fact, even 99% is actually too low — it really should be 99.5% or higher. The host should provide some sort of refund (eg prorated refund or discount) if it falls below that figure. Note though that guarantees are often hard to enforce from your end — especially if the host denies there was any downtime. However, without that guarantee, the web host will have little incentive to ensure that its servers are running all the time.
  2. Data Transfer (Traffic/Bandwidth)

    Data transfer (sometimes loosely referred to as "traffic" or "bandwidth") is the amount of bytes transferred from your site to visitors when they browse your site.
    Don't believe any commercial web host that advertises "unlimited bandwidth". The host has to pay for the bandwidth, and if you consume a lot of it, they will not silently bear your costs. Many high bandwidth websites have found this out the hard way when they suddenly receive an exorbitant bill for having "exceeded" the "unlimited bandwidth". Always look for details on how much traffic the package allows. I personally always stay clear of any host that advertises "unlimited transfer", even if the exact amount is specified somewhere else (sometimes buried in their policy statements). Usually you will find that they redefine "unlimited" to be limited in some way.
    In addition, while bandwidth provided is something you should always check, do not be unduly swayed by promises of incredibly huge amounts of bandwidth. Chances are that your website will never be able to use that amount because it will hit other limits, namely resource limits. For more details, see the article The Fine Print in Web Hosting: Resource Usage Limits.
    To give you a rough idea of the typical traffic requirements of a website, most new sites that are not software archives or provide video or music on their site use less than 3 GB of bandwidth per month. Your traffic requirements will grow over time, as your site becomes more well-known (and well-linked), so you will need to also check their policy when you exceed your data transfer limit: is there a published charge per GB over the allowed bandwidth? Is the charge made according to actual usage or are you expected to pre-pay for a potential overage? It is better not to go for hosts that expect you to prepay for overages, since it is very hard to forsee when your site will exceed its bandwidth and by how much.
  3. Disk space

    For the same reason as bandwidth, watch out also for those "unlimited disk space" schemes. Many new sites (that don't host videos or music) need less than 20 MB of web space, so even if you are provided with a host that tempts you with 100 GB (or "unlimited space"), be aware that you are unlikely to use that space, so don't let the 100 GB space be too big a factor in your consideration when comparing with other web hosts. The hosting company is also aware of that, which is why they feel free to offer you that as a means of enticing you to host there. As a rough gauge, thefreecountry.com, which had about 150 pages when this article was first written, used less than 5 MB for its pages and associated files.
  4. Technical support

    Does its technical support function 24 hours a day, 7 days a week (often abbreviated 24/7), all year around? Note that I will not accept a host which does not have staff working on weekends or public holidays. You will be surprised at how often things go wrong at the most inconvenient of times. Incidentally, just because a host advertises that it has 24/7 support does not necessarily mean that it really has that kind of support. Test them out by emailing at midnight and on Saturday nights, Sunday mornings, etc. Check out how long they take to respond. Besides speed of responses, check to see if they are technically competent. You wouldn't want to sign up for a host that is run by a bunch of salesmen who only know how to sell and not fix problems.
  5. FTP, PHP, Perl, SSI, .htaccess, telnet, SSH, MySQL, crontabs

    If you are paying for a site, you really should make sure you have all of these.
    Note that some commercial hosts do not allow you to install PHP or Perl scripts ("What is PHP and Perl?") without their approval. This is not desirable since it means that you have to wait for them before you can implement a feature on your site. ".htaccess" is needed if you are to do things like customize your error pages (pages that display when, say, a user requests for a non-existent page on your site) or to protect your site in various ways (such as to prevent bandwidth theft and hotlinking, etc).
    Telnet or SSH access is useful for certain things, including testing certain scripts (programs), maintaining databases, etc. MySQL ("What is MySQL?") is needed if you want to run a blog or a content management system. Cron is a type of program scheduler that lets you run programs at certain times of the day (eg, once a day). Check to see if these facilities are provided.
  6. SSL (secure server), Shopping Cart

    If you are planning on doing any sort of business through your website, you might want to look out to see if the host provides these facilities. These facilities normally involve a higher priced package or additional charges. The main thing is to check to see if they are available at all before you commit to the host. You will definitely need SSL if you want to collect credit card payments on your site.
  7. Email, Autoresponders, POP3, Mail Forwarding

    If you have your own site, you would probably want to have email addresses at your own domain, like sales@yourdomain.com, etc. Does the host provide this with the package? Does it allow you to have a catch-all email account that causes any email address at your domain to be routed to you? Can you set an email address to automatically reply to the sender with a preset message (called an autoresponder)? Can you retrieve your mail with your email software? Can it be automatically forwarded to your current email address?
  8. Control Panel

    This is called various names by different hosts, but essentially, they all allow you to manage different aspects of your web account yourself. Typically, and at the very minimum, it should allow you to do things like add, delete, and manage your email addresses, and change passwords for your account. I would not go for a host where I have to go through their technical support each time I want to change a password or add/delete an email account. Such chores are common maintenance chores that every webmaster performs time and time again, and it would be a great hassle if you had to wait for their technical support to make the changes for you.
  9. Multiple Domain Hosting and Subdomains

    For those who are thinking of selling web space or having multiple domains or subdomains hosted in your account, you should look to see if they provide this, and the amount extra that they charge for this (whether it is a one-time or monthly charge, etc).
  10. Server

    Is the type of operating system and server important? Whether you think so or not on the theoretical level, there are a few practical reasons for looking out for the type of server.
    In general, if you want to use things like write/use ASP programs, you have no choice but to look for a Windows server.
    Otherwise my preference is to sign up for accounts using the often cheaper, more stable and feature-laden Unix systems running the Apache server. In fact, if dynamically generated pages that can access databases (etc) is what you want, you can always use the more portable (and popular) PHP instead of tying yourself down to ASP. Another reason to prefer Unix-based web hosts (which include web hosts using systems like Linux, FreeBSD, OpenBSD, Solaris, etc) using the Apache web server is that these servers allow you to configure a lot of facilities that you typically need on your site (error pages, protecting your images, blocking email harvesters, blocking IP addresses, etc) without having to ask your web host to implement them. Knowledge about configuring Apache servers is also widely available, and can be found on thesitewizard.com's Configuring Apache and .htaccess pages as well.
    For those interested, you can read another discussion on the matter in the "Should You Choose a Linux or a Windows Web Hosting Package? Is There Such a Thing as a Mac Web Host?" article.
  11. Price

    I was actually hesitant to list this, but I guess it's futile not to. However, I would caution that while price is always a factor, you should realise ("realize" in US English) that you often get what you pay for, although it's not necessarily true that the most expensive hosts are the best.
  12. Monthly/Quarterly/Annual Payment Plans

    Most web hosts allow you to select an annual payment plan that gives you a cheaper rate than if you were to pay monthly. My current personal preference is to pay monthly with all new web hosts until I'm assured of their reliability and honesty. Paying monthly allows me to switch web hosts quickly when I find that the current host does not meet my requirements: this way, I'm not tied down to a bad web host because I have prepaid for an entire year. I do this even if the new web host guarantees that they will refund the balance if I'm dissatisfied, since at the point I sign up, I have no assurance that they will honour their guarantee. Later (usually after a couple of years), when I'm satisfied with the host, I may change payment plans to the discounted annual plans.
  13. Resellers?

    Not all hosting companies own or lease their own web servers. Some of them are actually resellers for some other hosting company. The disadvantage of using a reseller is the possibility that you are dealing with people who don't know much about the system they are selling and who take longer to help you (they have to transmit your technical support request to the actual hosting company for it to be acted upon). However, this also depends on both the reseller and the underlying hosting company. It is thus wise not to rule out all resellers; there are a number of reliable and fast ones who are actually quite good and cheap. In fact, a number of resellers sell the same packages cheaper than their original hosting company. If you find out that a particular company is a reseller, you will need to investigate both the reseller and the real hosting company.
  14. International

    If you don't stay in the USA, you have the option of hosting your site with some local provider. The advantage here is the ease of dealing with them (they are after all easily accessible by phone call or a visit), your familiarity with the local laws and easy recourse to those laws should it be necessary. It should be your choice if your target audience is local (eg a local fast food delivery service). On the other hand, hosting it in USA has the advantage of faster access for what is probably the largest number of your overseas visitors (particularly if you have an English-speaking audience). You also have a large number of hosting companies to choose from, and as a result, cheaper prices too.
  15. Others' Reviews

    You should make it a point to check out what others have to say about the web host. Some of the places you can do this include:
    • The newsgroup news:alt.www.webmaster. As you should always do when reading reviews (of anything), read the reviews posted here with a pinch of salt. Some glowing reviews may come from people working for the web host itself, disguised as multiple satisfied customers. Likewise, negative reviews of a particular host can sometimes come from unscrupulous competitors of that host.
    • thesitewizard.com's review, "Which Web Host Would You Recommend? (FAQ)", found at http://www.thesitewizard.com/archive/webhosting.shtml
    • Although not often, I sometimes make comments about a particular web host in my Budget Web Hosts page on thefreecountry.com as well.
    Don't skip this step, or you might find yourself being suckered by a host that everyone else is steering clear of.

The Myth of the Perfect Commercial Host

In general, I doubt that there are any "perfect" web hosting companies around. Note that even if you are prepared to pay a huge price for your hosting needs, it does not guarantee that your host is any good. This is an interesting industry where a high price does not necessarily yield quality hosting and support.
On the other hand, one thing you can probably be sure of is that you will not get top-notched support if you only pay (say) $5 a month. At that price, which company can afford to hire enough good help to cater to all its users?
Like me, you'll probably end up settling for a trade-off between price, reliability and features that you're willing to live with.

Monday, June 4, 2012

Capacity Planning for Windows SharePoint Services


This topic describes performance and scalability guidelines for Microsoft Windows SharePoint Services. The goal is to provide administrators with the information they need to purchase hardware, choose a server configuration, and manage the capacity of their Windows SharePoint Services deployments.
There are two kinds of capacity guidelines for Windows SharePoint Services:
  • Throughput — The approximate number of transactions per second that a given server configuration for Windows SharePoint Services can handle. This guideline helps you determine how many simultaneous users can use a given server resource without negatively affecting performance.
  • Scale  — The approximate number of objects that can be created in a given scope, for example, the number of documents per folder. This guideline helps you determine the server configuration required to host a given number of objects.

About Capacity and Throughput Guidelines

The goal of the throughput testing is to measure the number of transactions per second that a server running Windows SharePoint Services can handle. The measured throughput is then used to extrapolate the number of simultaneous users by using a model of typical user behavior.
A rough rule of thumb is that 1 transaction per second maps to 1000 users. This rule of thumb is derived by applying the following model for user behavior:
  • 1000 users
10% peak concurrency
  • 100 simultaneous users (10% of 1000)
100 seconds per request per user (36 requests per hour per user)
  • 100 simultaneous users/100 seconds per user per transaction
  • 1 transaction/second

CAPACITY TESTING METHODOLOGY

The Windows SharePoint Services team tests throughput by using automated load generation tools that work in machine time, not user time. In other words, real user behavior is not modeled in the test lab; server capacity is measured using fictitious "super users" who issue requests as fast as the server can respond. This is done to ensure that we’re measuring the capacity of the server, not the capacity of the load generation tool.
There are two main variables in the throughput testing:
  • Transaction mix — The mix of user transactions, such as browse home page, save document, and edit list item, and so on.
  • Server configuration — The configuration, such as a single server or a server farm with two Web servers, and so on.

About the Transaction Mix

The transaction mix defines the types and frequency of operations seen by the server, such browse home page, edit document, and so on. This topic contains two different transaction mixes:
  • Read/write — This is the typical SharePoint site operation mix. Most of the load is browsing to pages and documents in the site, but there is a substantial amount of list and document authoring as well. For details on the read/write operation mix, see Tested Read/Write Transaction Mix.
  • Read only — This is the typical load of a reference site where the data on the server is changing very slowly. For this mix, the entire test load is on the home page of the site. The home page is one of the most expensive pages to render, so this is a fairly conservative read-only load.

About the Server Configuration

The server configuration describes how computers are configured to run the site. Windows SharePoint Services supports a server farm design where multiple Web servers can be used to serve the same content, as in the following illustration.
Server farm configuration
Administrators can add capacity to both the Web server and database server tiers by adding more server computers to the server farm. The total capacity of the server farm depends on the number of Web servers, the number of database servers, and the ratio of Web servers to database servers.
The following configurations were tested:
  • Single computer — One computer running both the Web server and database server.
  • N-by-one server farm — One to eight computers running the Web server and a separate computer running the database server. This covers the most common server farm scenarios. These tests determine the marginal throughput increase for each additional Web server and the optimum ratio of Web servers to database servers. As the test results show, adding Web servers to the server farm adds capacity linearly until the fourth or fifth Web server. Beyond five Web servers for each database server, the system bottleneck becomes the database server. To add even more capacity you need to add a database server to the server farm.
  • Eight-by-two server farm — Eight Web servers and two database servers. This test validates the database scale out. An 8x2 server farm has roughly twice the total throughput as a 4x1 server farm. Extending the scale out model to 12x3 and 16x4 becomes a matter of providing sufficient network bandwidth for the server farm.
For the test hardware specifications, see Tested Hardware and Software.

About Throughput to Users

The Windows SharePoint Services performance lab found the peak throughput for each combination of transaction mix and server configuration. The throughput is measured in transactions per second. These transactions-per-second measurements can be converted to the total number of users using a model of typical end-user behavior. Like many human behaviors, there is a broad range of "typical" behavior. The user model for Windows SharePoint Services has two variables:
  1. Concurrency — The maximum percentage of the total user base who will be using the system simultaneously. The Windows SharePoint Services models all use 10% concurrency.
  2. Request rate — The number of requests per hour an active user generates on average. Windows SharePoint Services uses four models for user behavior:
    • Light — 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.
    • Typical — 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.
    • Heavy — 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.
    • Extreme — 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.

THROUGHPUT DATA

The following table shows the throughput results for each transaction mix, server configuration, and user model. The peak throughput point is highlighted in bold.
TRANSACTIONS PER SECONDTOTAL USER COUNT
LightTypicalHeavyExtreme
ConfigurationMixReadMixReadMixReadMixReadMixRead
Single Server344361,20077,40034,00043,00020,40025,80010,20012,900
1 by 16570117,000126,00065,00070,00039,00042,00019,50021,000
2 by 1121132217,800237,600121,000132,00072,60079,20036,30039,600
3 by 1156194280,800349,200156,000194,00093,600116,40046,80058,200
4 by 1161256289,800460,800161,000256,00096,600153,60048,30076,800
5 by 1164279295,200502,200164,000279,00098,400167,40049,20083,700
6 by 1157278282,600500,400157,000278,00094,200166,80047,10083,400
7 by 1163280293,400504,000163,000280,00097,800168,00048,90084,000
8 by 1153279275,400502,200153,000279,00091,800167,40045,90083,700
8 by 2-462-831,600-462,000-277,200-138,600
The following chart shows that adding additional Web servers to a single database server farm increases the capacity of the server farm, but only to a certain point. For the read-only transaction mix, the capacity of the server farm increases steadily for up to four Web servers and stops increasing at six Web servers. For the read/write mix, the capacity does not increase significantly beyond three Web servers.
Single Database Server Throughput vs. Web Server Count
Total capacity does not increase because the throughput is now limited by the one database server computer. Extending capacity beyond this point requires adding another database server to the server farm.
The following chart shows that adding an additional database server to the farm can extend the total capacity of the farm if there are sufficient web servers to handle the load.
Multiple Database Server Throughput

About Capacity and Scale Guidelines

The capacity of Windows SharePoint Services is also affected by scalability (how many objects can be created in a given scope, such as number of documents per folder). There are very few hard limits in Windows SharePoint Services. Most of the scale guidelines are determined by performance. In other words, you can exceed these guidelines, but you may find the resulting performance to be unacceptable.
One of the most important scale dimensions is site collections per database. This scale dimension depends on the number of indexes on the database. As the number of site collections increases, the performance of the system degrades as it serves more and more different site collections. As you can see in following chart, there is no hard limit where performance becomes unacceptable, but performance does degrades faster beyond 10,000 site collections and drops below 100 responses per second beyond 50,000 site collections.
Throughput vs. Site Collections
The other scale guidelines are shown in the following table. None of these are hard limits enforced by the system. They are guidelines for designing a server that has good overall performance.
OBJECTSCOPEGUIDELINE FOR OPTIMUM PERFORMANCECOMMENT
Site collectionsDatabase50,000Total throughput degrades as the number of site collections increases.
Web sitesWeb site2,000The interface for enumerating subsites of a given Web site does not perform well much beyond 2,000 subsites.
Web sitesSite collection250,000You can create a very large total number of Web sites by nesting the subsites. For example, 100 sites each with 1000 subsites is 100,100 Web sites.
DocumentsFolder2,000The interfaces for enumerating documents in a folder do not perform well beyond a thousand entries.
DocumentsLibrary2 millionYou can create very large document libraries by nesting folders.
Security principalsWeb site2,000The size of the access control list is limited to a few thousand security principals, in other words users and groups in the Web site.
UsersWeb site2 millionYou can add millions of people to your Web site by using Microsoft Windows security groups to manage security instead of using individual users.
ItemsList2,000The interface for enumerating list items does not perform well beyond a few thousand items.
Web PartsPage100Pages with more than 100 Web Parts are slow to render.
Web Part personalizationPage10,000Pages with more than a few thousand user personalizations are slow to render.
ListsWeb site2,000The interface for enumerating lists and libraries in a Web site does not perform well beyond a few thousand entries.
Document sizeFile50 MBThe file save performance degrades as the file size grows. 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 (2047 MB) if you have applied Windows SharePoint Services Service Pack 1. For more information, see Configuring large file support in Installing and Using Service Packs for Windows SharePoint Services.

Tested Read/Write Transaction Mix

The following table describes the mix of operations that make up the read/write transaction mix. The Windows SharePoint Services team counted only meaningful end-user operations in the throughput numbers, but the load on the server includes supporting transactions as well, such as getting the images, style sheets, and JavaScript files for the home page.
END USER OPERATIONPERCENTAGE
Get home page9.0%
Get list page (HTML)9.0%
Get list page (grid)9.0%
Get list form6.0%
Get static document15.0%
Insert list item1.5%
Edit list item1.5%
Delete list item1.5%
Insert document1.5%
Open document for edit1.5%
Save document1.5%
Delete document1.5%
List URLs1.5%
Short term check-out15.0%
Get cached document15.0%
404 errors10.0%
 NOTE   There are roughly two supporting transactions for each end-user transaction. In other words, the end-user operations make up about a third of the total transaction load on the server.

Tested Hardware and Software

The following hardware was used to gather the performance and scalability data in this topic.

WEB SERVERS

The Web server computers were Compaq DL360s with two 1 GHz Pentium 3 processors and 1 GB of memory. The computers were running a prerelease version of Microsoft Windows Server 2003, Enterprise Edition, build 3718.
 NOTE   The single computer tests were run on Web server hardware.

DATABASE SERVERS

The database server computers were Compaq DL380s with two 1 GHz Pentium 3 processors and 2 GB of memory. The computers were running Microsoft SQL Server 2000 SP2 and a prerelease version of Windows Server 2003, Enterprise Edition, build 3718.