Home

Monday, May 18, 2009

Got to love it...


SQL Server 2008: A Must Do Configuration for Resource Governor

Over the past few months, I have been upgrading numerous SharePoint environments to SQL Server 2008 and I have wrestled with system performance. Unless adjustments are made, SQL Server will attempt to consume more than its share of processor. I've seen this cause SharePoint web applications to freeze and become unusable.

A resource management measure for SQL Server 2008 which I consider to be crucial for SharePoint environments, is outlined below. These steps will limit SQL Server Management Studio and Query Analyzer to 25% processor utilization, and possibly preserve the usability of the SharePoint farm. I strongly recommend these steps for SharePoint environments using SQL Server 2008.


SQL Server 2008 Resource Governor

Steps take from TechNet article:
Integration of SQL Server 2008 and Office SharePoint Server 2007
http://technet.microsoft.com/en-us/library/cc990273.aspx


1. Create a resource pool to limit CPU usage to 25 percent

CREATE RESOURCE POOL poolAdhoc
WITH (MAX_CPU_PERCENT = 25);


2. Create a workload group for ad hoc queries and register it with the new resource pool

CREATE WORKLOAD GROUP groupAdhoc
USING poolAdhoc;


3. Create a function that classifies Management Studio and Query Analyzer as members of the ad hoc group

CREATE FUNCTION adhocQueryClassifier() RETURNS SYSNAME
WITH SCHEMABINDING
AS
BEGIN DECLARE @grp_name AS SYSNAME
IF (APP_NAME() LIKE '%MANAGEMENT STUDIO%')
OR (APP_NAME() LIKE '%QUERY ANALYZER%')
SET @grp_name = 'groupAdhoc'
RETURN @grp_name
END
GO


4. Register the new function with Resource Governor

ALTER RESOURCE GOVERNOR
WITH (CLASSIFIER_FUNCTION= dbo.adhocQueryClassifier);


5. Restart Resource Governor

ALTER RESOURCE GOVERNOR RECONFIGURE;

Monday, May 04, 2009

FAST ESP Videos on YouTube

Want to view a demonstration of current and future capabilities of FAST ESP? Here are a couple YouTube videos that provide a great overview.

Fast ESP for SharePoint - 1 of 2
http://www.youtube.com/watch?v=kTbcCNby8xE

Fast ESP for SharePoint - 2 of 2
http://www.youtube.com/watch?v=WjW6ZjX8Pyk

SharePoint 3.0: How to Crawl Case Sensitive URLs

By default, MOSS will not crawl URLs which are case sensitive. However, Microsoft Help and Support Article ID 932619 provides instructions for making a registry modification to the Index server which allows case sensitive URLs to be crawled.

Microsoft Help and Support Article ID 932619:
You cannot crawl case-sensitive Web content in SharePoint Server 2007
http://support.microsoft.com/kb/932619

It is important to note that a content index reset is required. For this reason, this modification may require a maintenance window for production environments, especially large environments with lots of items in the content index that will need to be crawled again.

Like most system changes, it is a good idea to test this first in Development or QA environments, record the change, and then schedule a time to deploy it to production. The instructions are straightforward, however, the first time that I made the modification, the search service didn't start properly so I had to stop it and start it a second time. Then it was fine. Running through the steps in Development or QA first will allow you to work the kinks out.

Thursday, April 16, 2009

Windows Server 2008: IPV4 Weak Host Configuration

It is very common to have a Microsoft Office SharePoint Server (MOSS) farm that includes mutliple web applications, each having its own host name and ip address.

In fact, when SSL certificates are installed on the web server directly (i.e. not offloaded to the hardware load balancer), then there is a requirement to assign unique ip addresses for each web application in order to ensure that the web site bindings (ip address + host name + port) remain unique on the web server.

When a web server is multihomed like this, it is very important to consider and configure the approprate strong or weak host model, in order to ensure that the web server will behave properly. If this configuration is neglected or set incorrectly, then it will cause Windows services to fail, IP packets to be disgarded, and the web server to "break."

Here is an excellent article describing the strong and week host models:

TechNet: The Cable Guy: Strong and Weak Host Models by Joseph Davies
http://technet.microsoft.com/en-us/magazine/2007.09.cableguy.aspx

Returning to the subject of the multihomed MOSS web server; here are steps that may be followed to configure the IPV4 interface as "weak":

1. netsh interface ipv4 show interface
2. See the IDX number
3. netsh interface ipv4 set interface [IDX number] weakhostsend=enabled
4. netsh interface ipv4 set interface [IDX number] weakhostreceive=enabled

Sunday, April 12, 2009

SharePoint 3.0: Error: The Backup/Restore Job Failed

Description:


In this scenario, a full farm backup failed because the backup of the "SharedSearchIndex" failed.

Error: The backup/restore job failed. In order to rerun the backup/restore the timer job must be deleted from the Timer Job Definitions page. Failure Message: The backup job failed. For more information, see the error log that is located in the backup directory.

Central Administration > Operations (Tab) > Backup and Restore (Heading) > Backup and restore job status




Error: Object Shared Search Index failed in event OnBackupComplete. For more information, see the error log located in the backup directory. WebException: The current operation timed-out after 3600 seconds.

Central Administration > Operations (Tab) > Backup and Restore (Heading) > Backup and restore job status



Error: The Backup/Restore job has the status of "Failed"

Central Administration > Operations (Tab) > Global Configuration (Heading) > Timer job status



Solution:


This issue may be caused by a timeout. To resolve this issue, there are a few steps. First, any time a SharePoint Backup/Restore job fails, you must delete the failed timer job definition, otherwise subsequent backup attempts will also fail.

Second, take an inventory of scheduled jobs that are running on the farm, including incremental crawl schedules, SharePoint backup scheduled tasks, and Enterprise Backup jobs (e.g. Symantec BackupExec, Networker, etc..). Measure how much time incremental crawls are taking to run. Also, measure how much time the backup is taking to run. Determine what time the backup job needs to start. Keep in mind that if an enterprise backup solution is backing up the SharePoint backup files, then the SharePoint backup should COMPLETE before the tape backup job begins.

If necessary, adjust the scheduled jobs so that the crawls are not interferring with the backup job.


Steps:

1. Delete the Backup/Restore timer job definition.

Central Administration > Operations (Tab) > Global Configuration (Heading) > Timer job definition


2. Adjust the start time of the incremental crawl. Make sure the schedule is set up in a way that the incremental crawls complete at a time that is earlier than the start time of the scheduled task that runs the backup job.

For example, if the incremental crawl takes less than an hour to run, and the the backup job is scheduled to run at 8:00 PM, then schedule the last incremental crawl to occur at 7:00PM.

SSP Administration > Search (Heading) > Search Settings > Content sources and crawl schedulesContent Source > Edit > Crawl schedules


3. If necessary, adjust the start time of the scheduled task that runs the backup

Start > Settings > Control Panel > Scheduled Tasks

CBT Clips


One of the most challenging aspects of a SharePoint rollout is user adoption and user education. Organizing training sessions and brown bag lunch demonstrations are good ways to inform and educate users about SharePoint and how it is used in the organization.

However, ramping up several users on SharePoint at once requires that each person has some context for what they are learning. You can't always force this on people; force them to imagine working a certain way, role play to a point where the instruction actually makes sense.

For this reason, a successful user education strategy should include reference material that is easy to locate, easy to use and relevant. It should be easily accessible at the point in time when a user has a specific question while performing a task. The reference material should address the specific question at hand, and only that. Otherwise, the user will not be able to find the answer to their question and they will lose interest.

I have found CBT Clips to be a great solution for fulfilling this need. CBT Clips offers collections of very brief, to-the-point, computer based instruction videos. These are perfect for new users who just want to know how to upload a document, how check in/check out works, or how to use Outlook with SharePoint.

The price for a company wide license is very reasonable and I think that depending on the size of the organization, an investment may easily pay for itself.

Monday, April 06, 2009

MSSQL RS: Reference Items for Creating Datasource that Queries SharePoint List Items

Here are a couple, useful reference items to have when creating MSSQL Reporting Services datasources for querying SharePoint list item information:


1. The URL location of the list web service:

http://sample1portal.domain.com/subsite/_vti_bin/Lists.asmx



2. Sample syntax of an XML query to be used in the datasource:

SharePoint 3.0: Error: Access Denied, Search Crawl Log

Description:

You receive an error when attempting to run a crawl on a content source.

Shared Services Administration > Search Settings > Content Sources > Crawl Log:

Error:

"Access is denied. Check that the Default Content Access Account has access to this content, or add a crawl rule to crawl this content. (The item was deleted because it was either not found or the crawler was denied access to it.)"


Solution:

Aside from Alternate Access Mappings (AAM) issues, Content Access account permissions issues, and invalid credentials, this error may also appear if the "Loopback Check" is enabled.

Instructions for disabling the Loopback Check are included in Microsoft Support KB 89861.

KB 89681: You receive error 401.1 when you browse a Web site that uses Integrated Authentication and is hosted on IIS 5.1 or IIS 6
http://support.microsoft.com/kb/896861

SharePoint 3.0: Error: Access Denied, Excel Web Access Web Part

Description:

Excel Web Access Web Part: Error:

"Access Denied. You do not have permission to open this file on Excel Services. Make sure that the file is in an Excel Services trusted location and that you have access to the file."


Solution:

Besides permissions related issues, this error may also appear if you are attempting to display an Excel file that is stored in a separate web application where you have not enabled cross domain access.


To enable cross domain access for Excel Services, run the following command:


stsadm.exe -o set-ecssecurity -ssp SSPNAME -allowcrossdomainaccess true

SharePoint 3.0: Pointing Excel Web Access at a Separate Web Application

There is an additional, configuration step required to display an Excel file stored in a different SharePoint web applications from the location where the Excel Web Access web part is being used. The instructions below explain how to set this up.

1.
Locate an Excel file you would like to display in Excel Web Access. For this example, the Excel file is called, stoplight.xlsx. It is stored in a document library at http://sample1portal.domain.com/excelfiles_site/excelfiles_library/



2.
Verify that the intended audience has permission to view the file.

3.
Verify that Excel File location is trusted by Excel Services.



4.
If you have not done so previously, run the following command:

stsadm.exe -o set-ecssecurity -ssp -SSPNAME -allowcrossdomainaccess true

5.
Add the Excel Web Access web part to a page to display stoplight.xslx. Since you have enabled cross domain access, it will now display regardless if the Excel file is part of the same web application as the Excel file, or in a different web application.

In this example, I am displaying the Excel Web Access Web Part on a sub site of http://sample2portal.domain.com although the Excel file is being stored on http://sample1portal.domain.com.

Tuesday, March 31, 2009

FAST ESP: Fast ESP 5.3 for Windows, 32 Bit Only

FAST ESP 5.3 for Windows is only available in 32 bit. However, the software can be installed on either 32 Bit or 64 Bit versions of the Windows operating system.

Consequently, prior to installing FAST ESP, you must install the 32 Bit versions of Java SE Runtime (JRE) and Java SE Development Kit (JDK): http://java.sun.com/javase/downloads/index.jsp.

Saturday, March 28, 2009

Links: MS SQL Server Reporting Services Add-In for MOSS

Here are the links for downloading:

Microsoft SQL Server 2008 Reporting Services Add-in for Microsoft SharePoint Technologies:
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=200fd7b5-db7c-4b8c-a7dc-5efee6e19005

Microsoft SQL Server 2005 Reporting Services Add-in for Microsoft SharePoint Technologies:
http://www.microsoft.com/downloads/details.aspx?familyid=1E53F882-0C16-4847-B331-132274AE8C84&displaylang=en

Friday, March 27, 2009

Taking Cloud Platform Services Seriously

(Perspective from early 2009)

Based on conversations with colleagues and clients, I still don't think that the majority of long term, enterprise architecture strategies even consider Cloud Platform Services (referring to PAAS)...but I think this strategy may eventually become mainstream.

Despite the fact that the cost of hosting systems on-premises is reducing with time due to improved virtualization and management technologies, I think that in the not too distant future, there will be a point when the costs and risks of serving up certain types of applications in house will actually be greater than any compromise made by moving the same systems to a PAAS, cloud based platform.

The biggest drawbacks I see with PAAS are:
1. Perceived loss of security controls at the infrastructure level.
2. Perceived loss of control over infrastructure configurations.
3. Vendor lock-in.
4. Vendor price gouging.
5. WAN/Bandwidth limitations.

Despite the risks, I do think that visionaries are beginning to consider PAAS for certain aspects of their computing environment road map. I'm just not sure how much longer it will take before this approach is generally accepted and considered mainstream.

Where is the FAST Search Community?

I am truly excited about Microsoft's acquisition of FAST Search as well as the recent news about Microsoft's new Enterprise Search road map. Anyone who has deployed Microsoft Office SharePoint Server (MOSS) as an Enterprise Search solution or internet facing solution probably can appreciate all of the considerations that go into planning and implementing as well as some of the limitations that force you to think outside the box.

Prior to becoming proficient in MOSS Search, and prior to doing numerous Search Proof of Concepts on behalf of Microsoft, I spent quite a bit of time locked inside of a small office in the North End of Boston, researching, building and testing MOSS Search on a Microsoft VM. My primary sources of information included TechNet webcasts, blogs, Codeplex, MSDN articles, and the Microsoft Partner Support contacts. I've come to really appreciate the abundance of free flowing ideas and information that exists on the Web related to MOSS. The community is fantastic.

As I embark on new and exciting adventures working with FAST ESP, I am certain that the MOSS community will continue to contribute high quality information and will eventually expand to cover more topics related to FAST ESP. As of now, I don't see the same level of knowledge sharing occurring with FAST as I have seen with MOSS. I only hope that in response to Microsoft's acquisition of FAST as well as their reasonable product licensing model, that FAST will become more widely adopted and that a FAST Search community will flourish on the Web.

Tuesday, March 24, 2009

Firefox Automatic Logon

Description:

Configuring automatic logon for Firefox, for Microft Office SharePoint Server (MOSS) URLs


Solution:

1.
Open Firefox

2.
Address Bar: Type about:config
When prompted for a warning, click "I'll be careful I promise"

3.
About:config > Preference Name > network.automatic-ntlm-auth.trusted-uris
Right-click and "Modify"

4.
Entering String Value Dialog Box
Type the URL addresses of the SharePoint web applications (use comma to separate multiple addresses)
E.g.
https://portal.domain.com, https://search.domain.com
Click "OK"


For information about more advanced Firefox/MOSS integration, read Mauro's recent blog post:
SharePoint/Office Integration with Firefox

Tuesday, March 17, 2009

SQL Server: How to Change the Default Database Location

Description:

Instructions for changing the default Database locations.


Solution:

1. Open SQL Server Management Studio

2. Right Click on the SQL Server Instance node > Properties

3. Navigate to the "Database Settings" menu

4. Modify the "Database default locations"

5. Restart the following Windows Service:

SQL Server (MSSQLSERVER)

6. Create a new test database to verify that it is being created in the new, default location

SharePoint 3.0: How to Move SQL Database Files, Transaction Log Files to Different Disk Location

Description:

Instructions for moving database files (mdf) and transaction log files (ldf) to a different disk drive on the database server, in a MOSS 2007 server farm.


Solution:

1. Perform the necessary capacity planning analyses and tasks to ensure that the future configuration will perform and scale for growth.

2. Schedule a maintenance window to allow for enough time to perform the configuration changes and test the SharePoint portal after the changes are complete. Communicate the maintenance window appropriately to the business users.

3. Create folders on the destination disk drive for storing the files. If the servers are physical, consider storing the transaction log files on a separate physical disk from the database files, to maximize performance. If the servers are virtual, understand the disk configuration of the underlying servers to ensure considerations including disk performance, contention, scalability, and snapshots.

In this example, D:\MSSQL_Data is the destination of data files, and D:\MSSQL_TLogs is the destination of transaction log files.

4. On the MOSS web front end servers and the Index server, stop the following Windows Services:

WWW Publishing Service
Windows SharePoint Administration
Windows SharePoint Search
Windows SharePoint Timer
Windows SharePoint Tracing
Windows SharePoint VSS Writer
Office SharePoint Search


5. For each database that is being moved, run the SQL Commands below to take the database offline

SQL Server Management Studio > New Query
--------------------
ALTER DATABASE MOSS_ContentDatabase SET OFFLINE;
GO
--------------------

6. Using Windows Explorer, physically copy the mdf and ldf files of the databases to their new location.

7. Run the SQL Commands below to update the physical location of the database files

SQL Server Management Studio > New Query
--------------------
USE master;
GO
ALTER DATABASE MOSS_ContentDatabaseMODIFY FILE (NAME = MOSS_ContentDatabase, FILENAME = 'D:\MSSQL_Data\MOSS_ContentDatabase.mdf');
GO
ALTER DATABASE MOSS_ContentDatabaseMODIFY FILE (NAME = MOSS_ContentDatabase_log, FILENAME = 'D:\MSSQL_TLogs\MOSS_ContentDatabase_log.ldf');
GO
ALTER DATABASE MOSS_ContentDatabase
SET ONLINE
GO
--------------------

8. Verify that the updated location has been properly set for each database by running the command below:

SQL Server Management Studio > New Query
--------------------
USE master;
GO
SELECT name, physical_name
FROM sys.master_files
WHERE database_id = DB_ID('MOSS_ContentDatabase');
GO
--------------------

Monday, January 19, 2009

SharePoint 3.0: Is the Installation 32 bit or 64 bit?

If you have an installation of Microsoft Office SharePoint Server 2007 and you are trying to determine whether it is 32 bit or 64 bit, here are a couple ways you can do it:

* Task Manager; OWSTIMER.EXE
64 bit: OWSTIMER.EXE if it is 64 bit
32 bit: OWSTIMER32.EXE if it is 32 bit

* Windows Explorer; Program Files
64 bit: Installation directory is \Program files\common files\microsoft shared\web server extensions\12\
32 bit: Installation directory is \Program files (x86)\common files\microsoft shared\web server extensions\12\

Friday, January 09, 2009

Event: Focus On Series: Optimize Your SharePoint Investment

On Tuesday, Feburary 24, 2009 I will be presenting at an event sponsored by Vitale Caturano. For more information or to register, please follow this link: http://www.vitale.com/sharepoint

Blog Archive

Followers