Completly Unrelated to SharePoint But Bought a New Motorcycle Today CBR1000RR Fireblade
16 June 09 06:02 PM | gregmcb | 0 Comments   

This bike is awesome at 160 Horses.

http://cid-732d673e5904257f.skydrive.live.com/self.aspx/FirebladeCBR1000RR/Fireblade%2008.jpg

I am so excited....

 

 

Filed under:
Important TSQL, Databases & Tables for Troubleshooting
05 June 09 11:09 AM | gregmcb | 0 Comments   

IMPORTANT - DIRECT MODIFICATION OF ANY SHAREPOINT DATABASE IS UNSUPPORTED.  This doesn't mean you can't peak though.

Important Tables I have found usful for troubleshooting.  I will publish as I define more.

Contentdb

  • ImmedSubscriptions / SchedSubscriptions table  - Entry is made when an alert is fired.  Good place to check when alerts are not working.
  • Eventcache - Subscriptions not processed - select * from eventcache where EventData is not null
  • EventLog - Subscriptions Processed - select * from eventlog where ListID = 'xxx'

Configdb

TSQL Commands

Importing Publishing Sites To Different Levels Unsupported
02 June 09 11:32 AM | gregmcb | 1 Comments   

So if you move a site from a SPWeb to a SPSite and it is a publishing site you should expect an array of problems and unpredictability.  In otherwords don't make a subweb a top level site.

THIS IS WHY YOU SHOULD NOT DO THIS!  IT IS UNSUPPORTED! http://support.microsoft.com/default.aspx/kb/968483

Gary Lapoint does have a blog on this but it requires direct db modification which again is unsupported.  Although kudos for the effort as it is a nice hack.

 

http://stsadm.blogspot.com/2007/09/convert-sub-site-to-site-collection.html

 

I am working on coming up with a supported path to do this, but my hopes are low @ this time.

MOSS SP2 Upgrade Process - Step By Step
02 June 09 11:29 AM | gregmcb | 1 Comments   

MOSS SP2 Upgrade Process:

 

As defined and cleansed by http://technet.microsoft.com/en-us/library/cc263467.aspx#section1

Database Maintenance:

1.      Run MOSS BPA and resolve any problems defined

2.      Stop the www service and disconnect any users

3.      Run DBCC CHECKDB on each database and repair any problems.

4.      Remove Orphaned Items from databases using  stsadm –o databaserepair

5.      Defragment and update statistics of each database

6.      Make sure that there is adequate hard drive space in your database files volumes, tempdb volumes, and Windows temporary folder on the servers running SQL Server, front-end Web servers, and application servers.

7.      After you have backed up all of your databases, use the SQL Server DBCC shrinkfile command to free unused log space, making the logs as empty as possible.  Shrinking the Transaction Log

Upgrade Pre-Steps:

1.      Load Balance Site Collections and ensure your not exceeding site collections limits per content database and make sure content databases do not exceed 100 GB as recommended.

2.      Make sure that you follow the recommendations concerning SQL Server page-fill factor and other storage planning best practices before you begin the upgrade.

3.      Backup           

a.      Use the full backup operation from SharePoint Central Administration or Stsadm to back up search.  The backup should include both the SSP and the index file.

b.      Brick level backup the configuration and central admin content databases

c.       Backup the SSO and every content database

d.      Backup any Front End Customizations such as Templates, features, resources, webparts, etc..

4.      OPTIONAL - In server farms that have a large number of sites, you will find that installing a software update with the content databases attached is not practical in terms of downtime. You may want to pursue this route for any content db > 20 GB as well.  In order to minimize the downtime, we recommend that you perform the additional steps of running the Stsadm preparetomove operation and then detach the content databases. Do not run against the CONFIG database, SSP or ADMINISTRATION CONTENT DATABASE!

a.      Run this command for each content database

DO NOT FOLLOW THIS STEP IN POST SP1 WITH INFRASTUCTURE UPDATE AS IT WILL DO THE OPPOSITE AND FRY THE PROFILE SYNCHRONIZATION.  IF YOU DO THIS THEN THE FIX IS:

CURTESY OF TODD CARTER 

PrepareToMove sets 'Moving' to True in the SiteSynch table of the SSP DB which signals to the profile sync job to ignore the DB which has the effect of not allowing profile syncs to occur for this DB. After attaching a Content DB back into the IU farm 'Moving' is still set to True. Even after the sync timer job fires and the stored procedure profilesynch_RegisterSiteToSynch is executed this content DB will still have its 'Moving' set to True.

The fix/resolution is to run PrepareToMove again (ok so I lied there is a case where you want to run it with the IU) but this time with the –undo option. The -undo command is harmless and it will set 'Moving' back to False and allow profile syncs to this content DB to start running again.

http://blogs.msdn.com/toddca/archive/2009/01/30/preparetomove-away-from-running-this-command.aspx

stsadm -o preparetomove  -contentdb <db_name>  

 

b.      If you have multiple Web applications you must run.

stsadm -o deletecontentdb -url http://servername -databasename

c.       In this operation, -url specifies the Web application from which the content databases will be detached and -databasename specifies the name of content database to be detached.

After you upgrade your server farm, you must attach the content databases back to the server farm. You can only attach one content database to the server farm at a time, because when you attach the databases to the upgraded server farm the content database is upgraded automatically.

 

 

 

5.      To deploy the upgrade you must have these memberships

a.      Member of the Administrators group on the Web server computer.

b.      Member of the Administrators group on the server running SQL Server or be granted the fixed database role db_owner to all SharePoint Products and Technologies databases.

 

Install Sequence

 

1.      Add the account for the SharePoint Central Administration v3 application pool identity to the Administrators group on each of the local Web servers and application servers and then log on by using that account. These changes are only required for installing the update and then running the SharePoint Products and Technologies Configuration Wizard to complete the upgrade.

2.      The following permissions are required to run psconfig

1.      Member of the Administrators group on the local computer that runs Office SharePoint Server 2007.

2.      In SQL Server, the account must be:

1.      Authorized to access all SharePoint Products and Technologies databases.

2.      Granted the Database Creators (dbcreator) fixed server role.

3.      Granted the Security Administrators (securityadmin) fixed server role.

Install the software update

This section includes all of the procedures required to install a software update successfully in any size server farm. If you are in a large server farm you should read the Large farm optimization section later in this document.

The following procedure provides the steps to:

·         Make all software update files available on all servers in your server farm.

·         Complete the update from one of the servers hosting the Central Administration site.

·         Finish updating the remaining servers in the server farm.

Note

You must perform steps 1 though 8 from the following procedure on every Office SharePoint Server 2007 server in the server farm before you complete the installation on any one Office SharePoint Server 2007 server.

To install a software update

1.   Disconnect users from the server farm by stopping the World Wide Web Publishing service (w3svc) on all Web servers.

2.   Download and install the appropriate Windows SharePoint Services 3.0 software update for all servers in your server farm.

Important

At the end of the Windows SharePoint Services 3.0 software update, do not run the SharePoint Products and Technologies Configuration Wizard.

3.   Download and install the appropriate Office SharePoint Server 2007 software update for all servers in your server farm.

4.   At the end of the software update installation, the SharePoint Products and Technologies Configuration Wizard starts.

Note

If the wizard does not start automatically, click Start, point to All Programs, point to Administrative Tools, and then click SharePoint Products and Technologies Configuration Wizard.

5.   On the SharePoint Products and Technologies Configuration Wizard Welcome page, click Next.

6.   In the dialog box that notifies you that some services might need to be restarted during configuration, click Yes.

7.   On the Completing the SharePoint Products and Technologies Configuration Wizard page, click Next.

8.   When the dialog box about installation in a server farm appears, do not click OK. Instead, leave each server with the following dialog box displayed:

You must run Setup to install new binary files for every server in your server farm. If you have multiple servers in your server farm, run Setup and the configuration wizard on the other servers now, and then return to this server and click OK to continue.

9.   When the dialog box from the previous step is displayed on all the application servers and Web servers in the server farm, use one Web server that hosts the Central Administration Web site to finalize the installation.

Notes

We recommend that you install the software update on an application server that is hosting the Central Administration Web site, then the other application servers, and finally the front-end Web servers.

If you are hosting your Central Administration Web site on a front-end Web server, then we recommend that you install the software update on the front-end Web server hosting the Central Administration Web site, then the application servers, and finally the remaining front-end Web servers.

10.  On the server you selected in the previous step, click OK.

11.  On the Configuration Successful page, click Finish.

12.  After you have finished updating one Web server that hosts the Central Administration Web site, you should follow the procedures in the "Verify installation" section on this one Web server to ensure that the software update installation was successful.

13.  Continue updating the remaining computers in the server farm, one at a time, by clicking OK in the dialog box.

Note

It is important that the SharePoint Products and Technologies Configuration Wizard perform the configuration procedures on only one computer at a time.

14.  When the software update installation and configuration is complete on all the Web servers in the server farm, make the Web servers available to users by manually starting the World Wide Web Publishing service on each server on which you manually stopped the service.

 

 

3.      OPTIONAL only If you detached content dbs use the following command line to add them back to the farm

stsadm -o addcontentdb -url <http://backupservername:port> -databasename <ContentDBName>

WE HAVE CHANGED THE LOGIC AND RUNNING THIS COMMAND WILL NO LONGER TRIGGER A FULL CRAWL ON A POST SP1 WITH THE INFRASTRUCTURE UPDATE.

 

 

4.      Verify the server install by running the following command against the config database

SELECT * FROM Versions

·         OPTIONAL Force an upgrade by running one of the following commands if you encounter problems

1.      psconfig –cmd upgrade –inplace b2b –wait –force

2.      psconfig -cmd configdb -connect -server <SQLServerName> -database SharePoint_Config_<dbname> -user <domainusername> -password <password> -cmd helpcollections -installall -cmd secureresources -cmd services -install -cmd installfeatures -cmd applicationcontent –install

·          Next Install The April 09 Cumulative Updates

  • If you have enterprise features installed, renter the PID as there is a bug that will timeout MOSS in October.
IOPS
02 June 09 11:16 AM | gregmcb | 1 Comments   

Because I get asked so often about what are the best practices for IOPS.  I thought I would summerize from our article:

http://technet.microsoft.com/en-us/library/cc850692.aspx

Type RAID level Spindles Optimization

TempDB

[RAID 1+0] - 10% of total database size

2 IOPS/ GB

Write optimized

Transaction Logs

[RAID 1+0]

2 IOPS/GB

Write optimized

Search property store (Search database)

[RAID 1+0]

2 IOPS/GB

Read/Write optimized

Content databases

[RAID 1+0]

0.75 IOPS / GB

Read optimized

For more information, see Physical storage recommendations (Office SharePoint Server) and Planning and Monitoring SQL Server Storage for Office SharePoint Server: Performance Recommendations and Best Practices (white paper).

 

A healthy database server has enough headroom for databases and log files, plus enough capacity to keep up with requests. Use the recommendations in the following list to keep database servers performing optimally.

  • Pre-grow all databases and logs if you can. Be sure to monitor the sizes so that you do not run out of disk space.

  • Do not overload database servers by using too many databases or data. Use the following guidelines:

    • When using SQL Server mirroring, do not store more than 50 databases on a single physical instance of SQL Server.

    • Limit content databases to 100 GB.

  • Defragment and rebuild indices daily, if you can absorb the downtime required to rebuild.

  • Monitor the database server to make sure that it is responding appropriately and is not overloaded. Key performance counters to monitor include the following:

    • Network Wait Queue: at 0 or 1 for good performance

    • Average Disk Queue Length (latency): less than 5 ms

    • Memory used: less than 70%

    • Free disk space: more than 25%

Filed under:
Know Your Updates
23 April 09 03:07 PM | gregmcb | 1 Comments   

Several people have encountered the problem of confusing cummulative updates(Infrastructure Update KB951297) where we update all of MOSS and the Oct and Dec patches where we update only certain components.

For clarity in a Cummulative Update we update the following components:

coreserver.msp - Core MOSS

dlc.msp - Workflow

ifswfe.msp - Form Server

pjsrvapp.msp - Project Server

pjsrvwfe.msp - Project Server WFE

However, in the months of October, November and December of 2008 we did not release a cummulative update.  We released seperate packages that included coreserver.msp (KB957693), dlc.msp (KB958569) and Ifswfe.msp (KB957694).

So when you apply updates make sure you recognize the difference between a Cummulative update and a monthly update where we have a seperate package for each component as described above.  Furthermore, when you apply some of these patches we did not document that psconfig would need to be run.  This is specifically the case with KB957694.

Filed under:
Regression in July Cummulative update For SharePoint
05 August 08 04:31 PM | gregmcb | 0 Comments   

Beware that we have come across a regression in the July patch involving reverse proxy.  If you are using this functionality you should hold off until a patch is created.

 Also the product team has created a blog just for the July patch.  I would encourage you to read it before applying the patch.

 

QUESTION - I am Program Manager Charged with Implementing SharePoint - Now What?
26 May 08 01:44 AM | gregmcb | 1 Comments   

This post is targeted towards the large customer and may not completely apply to medium or small organizations.  This my list of the top ten priorities that a PM should focus and consider when given this task.  This is a high level overview based upon my experience and I am sure we could detail and add more but ten is good to start.

PRIORITY ONE - As a PM you must start to develop the SharePoint Govenance Plan by using the the Microsoft Published Resource Center.  This wlll allow you to do acoomplish several key items which will make your program a sucess:

  • Protect the enterprise, such as by helping to ensure regulatory compliance.
  • Greatly increase the usability of a solution. For example, the governing body in an enterprise can define metadata requirements for all content that makes it easier to categorize and search for the content across the enterprise.
  • Increase an organization's efficiency — for example, by requiring training as a prerequisite to becoming the administrator of a SharePoint collaboration Web site. 
  • Build your Technical Team Focused upon the service and not individual old world silo based management virtualized teams for core skills
  • Establish a Service Model with Solid Service Level Agreements with the Business Unit Leaders (BULS) and a Solid Service Level Map

PRIORITY TWO - Build Your New Service Based Team.

This is going to be hard becuase you are going to have to convince your leadership that SharePoint is and should be managed with the same priority as how you manage your Exchange team and its not going to be cheep.  The first problem I see organizations run into is who manages the team.  The virtualized team doesn't seem to work IMHO becuase the individual managers don't have the same stake as you.  My advice for whats its worth is that their should be one manager focused with direct control over the following roles: SharePoint Admins, SharePoint Developers, SQL DBA, the Architect, Windows & Cluster Admins, IIS Admins, and an Office Admin.  Then their needs to be a virtualized team connected to the MOSS core team with these roles: SCOM Admin, Network Admin, SAN\Storgae Admin, Security Admin.  There are ther roles that will and could be added but tis covers the core.

This is why the Program Manager needs to be a strong leader.  A quote from John Fenton's Book describes exactly what you need:

"Managers think incrementally, whilst leaders think radically. "Managers do things right, while leaders do the right thing.". This means that managers do things by the book and follow company policy, while leaders follow their own intuition, which may in turn be of more benefit to the company. A leader is more emotional than a manager . "People are governed by their emotions rather than their intelligence". This quotation illustrates why teams choose to follow leaders.
"Leaders stand out by being different. They question assumption and are suspicious of tradition. They seek out the truth and make decisions based on fact, not prejudice. They have a preference for innovation."

I share this quote becuase it is the best statement I have found that describes exactly what type of person needs to be the Program Manager.  As the PM for SharePoint you are going to have convince your superiors of the innvovative nature of SharePoint and why they can't think of it in the traditional fashion.

What I will provide is a solid proven example of how the United States Marine Corps has taken this strategy to fact by being agile enough to build a services based unit called the Marine Air Ground Task Force (MAGTF).  MAGTFs are a balanced air-ground, combined arms task organization of Marine Corps forces under a single commander that is structured to accomplish a specific mission.which we would define in IT as a Service.  If the government can pull this off then it can certainly be implemented with even greater success by the private sector.

A good way to understand this strategy of leadership would be the following book a it applies the Marines Way to business which has more in common than you may think.The Marine Corps Way: Using Maneuver Warfare to Lead a Winning Organization

 

 

 

 

 

 

PRIORITY THREE - It's not going to be cheep, think about how much it costs to runa good Messeging Environment as its the closest comparison I can provide.

Use your Governance Plan and SLAs to drive getting what you need to meet the demands of the business.  If the budget is not there then go back to the governance plan and SLA's and ask the BULS what they want to cross off their list of requirements.  If they say nothng, then the only thing you can say is this is what the team determined we need to provide the service you asked for. If your provide less then we have to cut the service.  Where do you want to start?

PRIORITY FOUR - Plan for explosive growth

Once people see SharePoint, they will use it and accept it just like people did email in the 90's. 

  • Use x64 Hardware starting from SQL, to Application Servers (Index, PerformancePoint, Excel Server, InfoPath Server, etc), to WFE
  • Plan for the best disk subsystem you can get for SQL in terms of IOPS weather it be DAS or SAN(which should be dedicated and not shared)
  • Decide if you you will Cluster or Mirror SQL
  • Use 8GB RAM WFE on x64
  • Develop of Main Farm with Multiple Child Farms for really big organizations by planning a good Taxonomy from the start

PRIORITY FIVE - Training

  • Train your Admins
  • Train your Developers
  • Train your End Users (Some say 75 % of your Trainign Budget Goes here)
  • Train your Staff in Integration Troubleshooting

PRIORITY SIX - Plan and Build a Dev, Test and Production Environment that is Exactly the Same

  • You need this to test custom code
  • You need this to test hotfixes and service packs

PRIORITY SEVEN - Build Unit Tests and Conduct a Full User Acceptance Program

  • Based upon your SLAs build unit tests and require BULs to signoff on acceptance
  • Test Your environment before, during and after you Go Live

PRIORITY EIGHT - Operate & Maintain Your Environment

  • Engage Microsoft Premier Support for Yearly MOSS Risk Assessments at a minImum.  I would recommend a MOSS Risk Assemesnt after any major change or upgrade to hardware or Service Packs.
  • Do multiple Triail runs of any major upgrades such as Service Packs, Hardware Changes, as well as Storage and Network modifications.  Do enough test where you have a step by step document and can complete the upgrade in test with zero flaws. 
  • Train Your Team to Use System Center Operations Manager (SCOM) to proactively manage your environment and identify the KPIs before production.
  • When you do have a problem DO NOT FOCUS ON THE SYMPTOM.  You should FOCUS ON FINDING THE ROOT PROBLEM!
  • Ensure you have a Service Level Map, this way you know exactly what and who will be impacted by any changes made.
  • Build a documented and tested at lest quarterly DR Plan

PRIORITY NINE - Control Growth and Set Standards  

When I talk to customers, I often hear we had a lot of organic growth.  What I translate this to is our Rose Garden is full of weeds!

Define what strategies you will use to customize SharePoint.  Each has a set of pros and cons that go along with them that will

  • SharePoint Designer
  • Site Definitions
  • Template Modifications\Additions
  • Features
  • WebParts
  • Event Handlers
  • Workflows
  • etc...

PRIORITY TEN - Have Fun Becuase You Are Leading a Project That Will Impact Your Company For Years To Come With The Same End Result as Email Had in the 90s.  No Pressure:)

SSL and Authenticode Causes CRL lookups if Your Machine Cannot Access the CRL for Verification
06 May 08 06:52 PM | gregmcb | 1 Comments   

Special Thanks to Tim Walton for Researching And Contributing This.

 

PROBLEM:

Slow response from custom SharePoint Application components may be happening because we are seeing a timeout going to the Certificate Revocation List.  As I understand the behavior is that we may wait for up to 45 seconds before .NET concludes that the CRL is unavailable.  This conclusion may then be cached for up to a minute before a fresh attempt is made to contact the CRL again.

 

 THEORY:

To verify that the certificate used to sign the .Net package hasn’t been revoked, .Net will attempt to download the Certificate Revocation Lists from both of these URL’s:
http://crl.microsoft.com/pki/crl/products/CodeSignPCA.crl
http://crl.microsoft.com/pki/crl/products/CodeSignPCA2.crl
If the .Net application cannot reach those end destinations then the .Net package assumes that an attempt to block verification has occurred and that the .Net packages signed by the certificates are not to be trusted.  End result, the .Net packages may run slowly.

 

PREFERRED RESOLUTION:
Allow the server and the services accounts to access the crl.microsoft.com domain.

RESOLUTION 2:
Turn off CRL checking by creating a turnoffCRL.reg file with this as the content:

Windows Registry Editor Version 5.00
[HKEY_USERS\S-1-5-20\Software\Microsoft\Windows\CurrentVersion\WinTrust\Tru¬st
Providers\Software Publishing
"State"=dword:00023e00

Note that this would be considered to be compromising the integrity of the .Net signed packages stuff as we would have prevented any compromised certificates from being disabled automatically.

RESOLUTION 3:


Manually add the CRLs from the above Urls to the server manually (assumes you’ve downloaded Them locally first):
certutil -addstore CA CodeSignPCA.crl
certutil -addstore CA CodeSignPCA2.crl

 

QUESTION: I Need a Good SharePoint Admin. What should I be looking for?
26 April 08 03:35 PM | gregmcb | 1 Comments   

I thought I might spend of a few minute with my answer to this question that seems to be coming up with managers more often with each passing day.  My response is complicated to explain to becuase the answer is always you are asking the wrong question and exposing yourself to risk by limiting your attention to the traditional focus.

First, lets start with the my opinion.  SharePoint is a platform similar to ASP.NET or Windows that you build applications and services on.  SharePoint respresents the first true class of products by Microsoft that completely blurs the line of Admin and Developer.  Thinks of it in these terms.  VBScript was the first technology Microsoft developed beyond bacth files that automated the administrators job.  Since then we have made the gigantic leap to .NET, C# and Powershell.  These technologies have changed the game and the sooner Engineers, Developers and Management understand this the better.  This is not to say that the traditional role of application developer or adminstrator is dead.  There will always be the need for specialist that focus at a deep level upon building applications and administratering them.  However, the future Star IT employee is the person that can engineer and write code across all parts of the solution.

So when asked, by my customers how and what should I be looking for in an finding an administrator for SharePoint, my response is always STOP looking for an adminstrator and start searching for the NEXT GENERATION IT STAR that can code and adminster your solution.  The simple fact is that when looking for that star you need someone who understands common adminstration skills (installing windows, patching, monitoring and configuring the server as well as managing the hardware, adminstering SQL, Networking and IIS) and then they need developer skills (.NET Coding, Powershell, WindowsServices Distributed Computing, XML,CAML, SQL Coding, AJAX, JavaScript, HTML, etc...).  This is the perfect solution but it will take time for the world to get to this point and not everybody in IT can accomplish this task.

The second point I make is that the distributed engineering strategy of managing an IT environment by organizing along traditional product responsabilities such as having a Core Windows Team, Client Team, SQL Team and SharePoint Team is not going to result in a cost effective succesful solution.  To be clear I am not saying that having a Core Windows Team doing tasks such as Building Servers and Installing the OS is wrong.  Nor is having a core Client, SQL or SharePoint Team is wrong.  What I see in the real world is the creation of the virtual team made up of members of each team.  In some environment this works fine, but in larger environments this approach will only result in less than agile and fragmented team that creates more problems and costs to the overall operation.  What needs to happen is the opposite approach and adoption of a service based approach.

My suggestion upon this matter is to look at the technologies from a service provided approach.  For example, SharePoint is a collaborative platform and demands in a larger environment that the entire scope of technologies be managed as a distinct unit with a solidified plan under a unified direct management structure.  Large organizations are agoing to bulk at this statement, BUT THEY ARE THE ONES THAT SHOULD BE LISTENING THE MOST.  This trend started with Exchange and has grown into far more by the evolution of the technology.  This is a pretty radical idea for many organizations and push back is always expected BUT it can be over come with strong leadrehship by the Project Manager.  Regardless, this approach has to happen at some point.  So an appropriate team would include an organization model based upon service rather than product.  Even more important is that finding that IT STAR will be hard at least for a while until the workforce adopts the approach that being an integration expert is where the real money and possibaility of sucess exists.  So until that occurs and even after that occurs organizations need to move from the virtual team based upon products to services where the priorities and goals are unfied.

The answer to these problems is simple and is determined by the politics, size and scope of your organization.  In the large organization there should be a collaboration team which includes Windows, SQL, SharePoint, and Developer Resources under a single manager combined with a traditional virtualied team of Network, SAN, and security engineers  with a unfied business strategy and goals driven by a strong SLA.  This means the organization needs to start doing the opposite of the product based virtual team but rather reorganize into the service based team where for example the Collaboration SQL expert is a vrtual member of the companies core SQL team.  This doesn't mean that the organization core SQL team drives the collaboration implementation of SQL but rather the Collaborative SQL team member communicates with the core team but the final decision is made by the collaboration SQL expert and project manager.  There might not be even a core product team in the organization, as a true service based model would allow for the SQL team made up of members from all thekey services model based team.

The answer is complicated and the solution is even more complicated requiring organizations to reorganize teams and develop IT STARS.  In short the traditional old school organization is going to flip with the initial idea and work required to implement what I am suggestion, but the end justifies the means and where this approach has been adopted the success is clearly obvious.  The strategy is also well documented and promoted as being the future of IT. 

The proof of this approach is not only well documented by IT Management organizations but also by history in general.  A simple look at hostory shows that the the most agile organization is the always the most sucessful.  For the sake of brevity, I will spare reader the countless examples I could provide from history proving this advice, but if you really want it send me an email and I will provide you the evidence.

What I will provide is a solid proven example of how the United States Marine Corps has taken this strategy to fact by being agile enough to build a services based unit called the Marine Air Ground Task Force (MAGTF).  MAGTFs are a balanced air-ground, combined arms task organization of Marine Corps forces under a single commander that is structured to accomplish a specific mission.which we would define in IT as a Service.  If the government can pull this off then it can certainly be implemented with even greater success by the private sector.

Some good links supporting this advice are:

Workforce Management by Microsoft

Gartner IT Strategy

HP IT Strategy Management

HP Services Mnagement Framework

Microsoft Services Management Framework

ITIL Service Level Management

Decisions About When To Use a Farm, Web Application, Content Database or Site Collection
23 April 08 11:14 AM | gregmcb | 0 Comments   

I wanted to say a few things that may help when deciding upon when a Farm, Web Application, Content Database and Site Collection are necessary.  For the purposes of this discussion I am defining a Large organization as any organization implementing a medium to large server farm.  A small organization would be one using a single server farm.

 

First think of these items in terms of how we suggest implementing Active Directory:

 

Web Farm is Like a AD Forrest

Web Application is Like a AD Domain

Content Database is Like an AD Partition

Site Collection is like an AD Organizational Unit

 

 

Web Farm:

You need to consider separate Web Farms for Very Large Organizations where political or Very Large Implementations are needed such as separate Shared Service Providers(Max 8 per farm) are required.

 

Web Application:

Consider Web Applications when you need to define Zones and Policies that are unique.

 

Content Database:

The recommended limit is 100 GB.  The main thought here is Disaster Recovery time and SQL Performance.

 

Site Collections:

In smaller organizations, separate site collections organized by business units is appropriate.  In a  large organization, I would recommend a separate site collection for each high level team.  Focus your efforts upon building a wide rather than deep hierarchy. Site collections will allow the IT department freedom to maintain just application itself without the worry of security or content hierarchy maintenance. The following is a list of what an individual site collection offers.

 

For the Users:

  • Dedicated Recycle bins
  • Dedicated usage Reports
  • Distributed administration (site collection administrators)
  • Dedicated search scopes, keywords, and best-bets
  • Custom feature deployments
  • Dedicated language translation maintenance
  • Dedicated galleries for web parts, master pages, content types, site columns, site templates, and list templates
  • Dedicated shared libraries, such as site collection images and site collection styles
  • Dedicated real estate (Self Containment)

For the IT Administrators:

  • Site quota templates
  • Distributed administration
  • Site locking
  • Database maintenance options
  • Backup / Restore abilities
  • Content Deployments
  • InfoPath forms services global template targeting

Some good links to read that may help:

·         http://www.sharepointblogs.com/llowevad/archive/2007/11/09/when-to-use-site-collections-vs-sub-sites.aspx

·         http://www.sharepointblogs.com/llowevad/archive/2007/06/25/site-collection-logical-architecture.aspx

 

MOSS SP1 Upgrade Process Step By Step
21 April 08 10:02 AM | gregmcb | 1 Comments   

MOSS SP1 Upgrade Process:

 

As defined and cleansed by http://technet.microsoft.com/en-us/library/cc263467.aspx#section1

Database Maintenance:

1.      Run MOSS BPA and resolve any problems defined

2.      Stop the www service and disconnect any users

3.      Run DBCC CHECKDB on each database and repair any problems.

4.      Remove Orphaned Items from databases using  stsadm –o databaserepair

5.      Defragment and update statistics of each database

6.      Make sure that there is adequate hard drive space in your database files volumes, tempdb volumes, and Windows temporary folder on the servers running SQL Server, front-end Web servers, and application servers.

7.      After you have backed up all of your databases, use the SQL Server DBCC shrinkfile command to free unused log space, making the logs as empty as possible.  Shrinking the Transaction Log

Upgrade Pre-Steps:

1.      Load Balance Site Collections and ensure your not exceeding site collections limits per content database and make sure content databases do not exceed 100 GB as recommended.

2.      Make sure that you follow the recommendations concerning SQL Server page-fill factor and other storage planning best practices before you begin the upgrade.

3.      Backup           

a.      Use the full backup operation from SharePoint Central Administration or Stsadm to back up search.  The backup should include both the SSP and the index file.

b.      Brick level backup the configuration and central admin content databases

c.       Backup the SSO and every content database

d.      Backup any Front End Customizations such as Templates, features, resources, webparts, etc..

4.      OPTIONAL - In server farms that have a large number of sites, you will find that installing a software update with the content databases attached is not practical in terms of downtime. You may want to pursue this route for any content db > 20 GB as well.  In order to minimize the downtime, we recommend that you perform the additional steps of running the Stsadm preparetomove operation and then detach the content databases. Do not run against the CONFIG database, SSP or ADMINISTRATION CONTENT DATABASE!

a.      Run this command for each content database

stsadm -o preparetomove  -contentdb <db_name>  

If you do not run this operation before you detach the content database, then the membership and profile information in the content database is static and will not be synchronized after upgrade.  BUT IF YOU INSTALL THE INFRASTRURE UPDATE TOO THEN DO NOT RUN THIS COMMAND.  THE FIX IS TO FOLLOW THE STEPS BELOW.

 

 

CURTESY OF TODD CARTER 

PrepareToMove sets 'Moving' to True in the SiteSynch table of the SSP DB which signals to the profile sync job to ignore the DB which has the effect of not allowing profile syncs to occur for this DB. After attaching a Content DB back into the IU farm 'Moving' is still set to True. Even after the sync timer job fires and the stored procedure profilesynch_RegisterSiteToSynch is executed this content DB will still have its 'Moving' set to True.

The fix/resolution is to run PrepareToMove again (ok so I lied there is a case where you want to run it with the IU) but this time with the –undo option. The -undo command is harmless and it will set 'Moving' back to False and allow profile syncs to this content DB to start running again.

b.      If you have multiple Web applications you must run.

stsadm -o deletecontentdb -url http://servername -databasename

c.       In this operation, -url specifies the Web application from which the content databases will be detached and -databasename specifies the name of content database to be detached.

After you upgrade your server farm, you must attach the content databases back to the server farm. You can only attach one content database to the server farm at a time, because when you attach the databases to the upgraded server farm the content database is upgraded automatically.

 

 

 

5.      To deploy the upgrade you must have these memberships

a.      Member of the Administrators group on the Web server computer.

b.      Member of the Administrators group on the server running SQL Server or be granted the fixed database role db_owner to all SharePoint Products and Technologies databases.

 

Install Sequence

 

1.      Add the account for the SharePoint Central Administration v3 application pool identity to the Administrators group on each of the local Web servers and application servers and then log on by using that account. These changes are only required for installing the update and then running the SharePoint Products and Technologies Configuration Wizard to complete the upgrade.

2.      The following permissions are required to run psconfig

1.      Member of the Administrators group on the local computer that runs Office SharePoint Server 2007.

2.      In SQL Server, the account must be:

1.      Authorized to access all SharePoint Products and Technologies databases.

2.      Granted the Database Creators (dbcreator) fixed server role.

3.      Granted the Security Administrators (securityadmin) fixed server role.

Install the software update

This section includes all of the procedures required to install a software update successfully in any size server farm. If you are in a large server farm you should read the Large farm optimization section later in this document.

The following procedure provides the steps to:

·         Make all software update files available on all servers in your server farm.

·         Complete the update from one of the servers hosting the Central Administration site.

·         Finish updating the remaining servers in the server farm.

Note

You must perform steps 1 though 8 from the following procedure on every Office SharePoint Server 2007 server in the server farm before you complete the installation on any one Office SharePoint Server 2007 server.

To install a software update

1.   Disconnect users from the server farm by stopping the World Wide Web Publishing service (w3svc) on all Web servers.

2.   Download and install the appropriate Windows SharePoint Services 3.0 software update for all servers in your server farm.

Important

At the end of the Windows SharePoint Services 3.0 software update, do not run the SharePoint Products and Technologies Configuration Wizard.

3.   Download and install the appropriate Office SharePoint Server 2007 software update for all servers in your server farm.

4.   At the end of the software update installation, the SharePoint Products and Technologies Configuration Wizard starts.

Note

If the wizard does not start automatically, click Start, point to All Programs, point to Administrative Tools, and then click SharePoint Products and Technologies Configuration Wizard.

5.   On the SharePoint Products and Technologies Configuration Wizard Welcome page, click Next.

6.   In the dialog box that notifies you that some services might need to be restarted during configuration, click Yes.

7.   On the Completing the SharePoint Products and Technologies Configuration Wizard page, click Next.

8.   When the dialog box about installation in a server farm appears, do not click OK. Instead, leave each server with the following dialog box displayed:

You must run Setup to install new binary files for every server in your server farm. If you have multiple servers in your server farm, run Setup and the configuration wizard on the other servers now, and then return to this server and click OK to continue.

9.   When the dialog box from the previous step is displayed on all the application servers and Web servers in the server farm, use one Web server that hosts the Central Administration Web site to finalize the installation.

Notes

We recommend that you install the software update on an application server that is hosting the Central Administration Web site, then the other application servers, and finally the front-end Web servers.

If you are hosting your Central Administration Web site on a front-end Web server, then we recommend that you install the software update on the front-end Web server hosting the Central Administration Web site, then the application servers, and finally the remaining front-end Web servers.

10.  On the server you selected in the previous step, click OK.

11.  On the Configuration Successful page, click Finish.

12.  After you have finished updating one Web server that hosts the Central Administration Web site, you should follow the procedures in the "Verify installation" section on this one Web server to ensure that the software update installation was successful.

13.  Continue updating the remaining computers in the server farm, one at a time, by clicking OK in the dialog box.

Note

It is important that the SharePoint Products and Technologies Configuration Wizard perform the configuration procedures on only one computer at a time.

14.  When the software update installation and configuration is complete on all the Web servers in the server farm, make the Web servers available to users by manually starting the World Wide Web Publishing service on each server on which you manually stopped the service.

 

 

3.      OPTIONAL only If you detached content dbs use the following command line to add them back to the farm

stsadm -o addcontentdb -url <http://backupservername:port> -databasename <ContentDBName>

If you detach and reattach a content database, be aware that the next time the content within that content database is crawled a full crawl will occur even if an incremental crawl is requested. Because a full crawl re-crawls all content that the crawler encounters, regardless of whether that content has been previously crawled, full crawls can take significantly more time to complete than incremental crawls.  CPU will be maxed!  BUT IF YOU INSTALL THE INFRASTURE UPDATE THEN A FULL INDEX WILL NOT HAPPEN.  THE LOGIC HAS BEEN CHANGED TO WHERE THIS IS NO LONGER AN ISSUE.

 

4.      Verify the server install by running the following command against the config database

SELECT * FROM Versions

1.      Release 12.0.4518.1016

2.      October public update 12.0.0.6036

3.      Service Pack 1 12.0.0.6219

4.      Post Service Pack 1 rollup 12.0.6300.5000

·         OPTIONAL Force an upgrade by running one of the following commands if you encounter problems

1.      psconfig –cmd upgrade –inplace b2b –wait –force

2.      psconfig -cmd configdb -connect -server <SQLServerName> -database SharePoint_Config_<dbname> -user <domainusername> -password <password> -cmd helpcollections -installall -cmd secureresources -cmd services -install -cmd installfeatures -cmd applicationcontent –install

·          Next Install Rollups 1 & 2 for both WSS and MOSS and reboot the server

IMPORTANT NOTICE FOR FUTURE INSTALLS:

From this point forward when you add a new server to the farm you should make sure you do the following:

1.      Install MOSS with the SP1 Slipstream Version

2.      Install The Latest Rollup which are presently WSSv3 Blackout rollup & MOSS Blackout rollup

3.      Run PSConfig to attach to the farm.

 

Controlling PeoplePicker Content
14 April 08 04:14 PM | gregmcb | 0 Comments   

You have two choices, you can use either of the following stsadm cmds: searchadcustomfilter or setsiteuseraccountdirectorypath.

 

setsiteuseraccountdirectorypath: 

When people picker resolves the user, it will check whether the user exists in the site collection or not. If it exists, return the user. Otherwise, search the AD or membership provider. For the AD case, if there is “siteuseraccountdirectorypath”, it will only search under that directory path, otherwise, the whole AD is searched.

 

Suppose the site is empty. After the administrator use

-o setsiteuseraccountdirectorypath

Only users under that path could be added to the site collection and no one else could be added to the site collection. In such case, the user returned will always be under the “siteuseraccountdirectorypath”.

 

Suppose the site is not empty and there are already some users exists. After the administrator use

-o setsiteuseraccountdiretorypath

To add a new user, the new user must be under the directory path. The people picker will return existing users in the site collection and users under the directory path.

 

searchadcustomfilter:

This path allows you to control the users shown in the PeoplePicker control by LDAP, BUT a user can still type in a valid alias and click the check name button to be given access.

 

Virtualization Known Impacts
27 March 08 03:26 PM | gregmcb | 0 Comments   

VMWare could impact Windows services that depend upon the Windows Time Service for maintaining time synchronization across systems.  Apparently the proper way to keep the guest time synced is to use the VMWare TimerSync and not the default Windows Timer Sync.  If the system was to become out of sync by more than 5 minutes let’s say then Kerberos could be a problem.  This could impact user access or Timer jobs performing tasks.  So if a customer has not configured this correctly then there could be problems.  The solution however is an easy workaround described below.

 

* VMware Time Sync and Windows Time Service

http://kb.vmware.com/selfservice/viewContent.do?language=en_US&externalId=1318

“The most accurate way to keep guest operating system time synchronized with real time is to use the VMware Tools time synchronization function. You should not use the Windows Time service or other form of clock synchronization meant for physical machines to set the time in the guest operating system.”

 

The risk of having the USN Rollback effect.

If the virtual machine is switched off with “Don’t Save Changes”, or the host is turned off in an uncontrolled manner (power failure) …

This DC doesn’t save its latest changes.

 

But the replication USN numbers were incremented, and all other DCs have already learnt about this on their High Watermark vectors.

The DC has jumped backwards in time (lost the latest USN changes), and Replication Dampening will avoid to re-replicate these lost changes again. (All DCs think it has already got them)

 

Likely to happen (as “Don’t Save Changes” can be the default), difficult to detect, and more difficult to fix …

How to detect and recover from a USN rollback in Windows Server 2003 http://support.microsoft.com/?id=875495

 

Filed under:
Top 10 Things You Need to Consider When Implementing MOSS
17 March 08 04:41 PM | gregmcb | 1 Comments   

Over the years I have seen a lot of SharePoint deployments from many customers going back to 2003.  This has allowed me to develop a unique perspective and observation on how to deploy this product best.  Here is what I have learned are the top ten things you need to do to make your deployment the success that will provide you with the best ROI and take full advantage of the product.  MOSS and the surrounding products such as Office, Exchange, PerformancePoint, Office Communication Server, Project Server, Excel Server, Forms Server, SQL Analysis and Reporting Server have the potential to provide the same productivity increases seen when email was deployed universally in the 90’s.  Make full use of these technologies AND make Your Company succeed.  That being said, it is important to remember that MOSS is about people and collaboration not products.

 

1.       “MOSS is not your father’s corporate web!”  When you deploy MOSS you need to think future.  You need to be thinking about not only deploying a portal but also a collaborative integration solution that will dramatically increase your companies productivity potential.  MOSS is not just about document management and lists.  Collaboration/portals has to be about people. If you don’t plan on training your end users about new ways to think and new ways to share information, then the value of the tools will be minimized.

2.       Train your Employees on how they can use MOSS functionality and provide them with the insight they need to see how they can increase their productivity and use all the features of the product.  Don’t allow this opportunity to become a means of using this new technology the same way you would in the past.  Think beyond document libraries and lists.  Think communication, business intelligence such as Dashboards, forms , workflow and collaboration to the fullest potential.  Develop Power Users that allows for your portal to be driven by the users.  They know what they need and if you provide the opportunity and knowledge to allow their ingenuity to drive the process it will allow for greater success and allow your IT staff to focus on IT and not driving the collaboration.  Everyone is equal when collaborating online and senior management of a company needs to buy in to the freedom and flexibility that will come from allowing people to work like this.   Consider spending 25% of your budget on training the power users and 75 percent on training all users.  The Power Users should be those stakeholders in the business and should be instructed upon the possibilities of the technology so they can chose which to implement effectively for their teams.  This is the key to success.

3.       Plan your overall design,  Taxonomy, site structure and navigation, Search, Document Management, Records Management, Security, Server Farms, logical design  with great care, knowing that your deployment will grow far beyond what your initial intentions were.  Think about how you deployed AD and Organizational Units so that they would sustain your deployment lifetime and future upgrades.  Use the Planning Worksheets provided.  Adopt a SharePoint Governance model.  Here is a sample Governance plan.  By implementing a distributed governance model which involves creating power users in the various lines of business for day to day governance tasks like site creation and security you not only mold champions to drive awareness of the capabilities of the platform, you offload a significant portion of the non-strategic IT tasks to end users. This frees up your IT folks to do the activities that really interest them. Those power users now represent a great foundation for a portal-steering committee that can determine standards, branding, navigation, etc.

4.       Plan for performance by knowing sizing constraints, SQL Performance and how each functionality will influence your environments stability.  Design and deploy an effective policy with regards to the site creation and maintenance, recycle bin, retention, and archival.  Do not allow your data to become stale and out of date.

5.       Go to KB Alertz and register for MOSS and WSS KBs as well as view and register an RSS feed to SharePoint Team Blog before you plan and deploy.

6.       Actually, take the time to build a test, QA and production environment that are exactly the same as far as general design.  Then use content management to deploy between environments.

7.       Define your growth strategy before you even install the product.

8.       Have a documented and tested DR plan with SLAs with each top level organization that will be involved in your project before even installing.  This should contribute greatly to your design especially with regards to Content Databases and Site Collections.  With SP1 you can move site collections between content databases and webs.

9.       Most environment can accommodate 80-90 percent of their needs without writing a single line of code.  When defining how you will meet business needs ask if a built in component will suffice and evaluate the delta between the exact business needs and the cost of designing, developing, deploying and maintaining custom code.  While it’s fun to write WebParts, it is not fun to manage and debug them when something happens.  That being said, if you do use the built in WP make sure they are consistent with Microsoft best practices so they will upgrade to the next version or not break on a Service Pack.

10.   Think, plan and put in place your Operations Guide before you deploy.  What will you monitor in MOSS and what tools will you use to do this?  What are the daily, weekly, monthly and quarterly tasks that you need to accomplish to keep your master piece running at optimum levels as defined by your SLAs.

 

PS:  Start using those mail enabled lists types to replace your public folders now.  The best choice is the email enabled discussion lists as well as email enabled calendars.

 

Filed under:
More Posts Next page »

Search

Go

This Blog

Favorite Blogs

Favorite References

Hot Topics

Important KBs

Motorcycles

My MSFT Links

Syndication

Page view tracker